2016-04-21 9 views
6

ich einen Zustand Router als solche haben:Kann nicht für eine Richtlinie ohne Kennung Controller binden + AngularJS

$stateProvider 
    .state('home', { 
    url: '/', 
    templateUrl: 'spa/layouts/home.html', 
    controller: 'HomeController', 
    controllerAs: 'ctrl' 
    }); 

In meinem home.html Vorlage Ich habe:

<div class="row main-body"> 
    <aside class="col-md-2 sidebarNav"> 
    <div>...</div> 
    </aside> 

    <section class="col-md-10 main-container"> 
    <div>..</div> 

    <my-list list-items={{ ctrl.listItems }}></my-list> 
    </section> 
</div> 

In der Richtlinie Meine Liste Ich habe folgendes:

var templateUrl = 'spa/components/classList/classList.html'; 

angular 
    .module('directives') 
    .directive('myList', component); 

function component() { 
    return { 
    templateUrl: templateUrl, 
    controller: classListDir, 
    contollerAs: '$ctrl', 
    scope: { 
     listItems: '@' 
    }, 
    bindToController: true, 
    }; 
} 

classListDir.$inject = ['$scope']; 

function classListDir($scope) { 
    var $ctrl = this; 
    console.log($ctrl); 
} 

Ich habe https://docs.angularjs.org/error/$compile/noident?p0=myList gelesen und gelesen. denke ich meinem Fall beschäftigt sich mit dem zweiten

// OKAY, weil die Richtlinie

// die Steuerungsidentifizierer die controllerAs Eigenschaft Überschreibung verwendet.

Ich bekomme immer noch die Fehlermeldung. Ich verstehe die Bindung mit Bezeichnerfehler nicht. Kann mir bitte jemand das erklären.

Antwort

14

Fand die Ausgabe:

contollerAs: '$ ctrl'

falsch geschrieben wurde.

+2

Für mich war es, dass ich die "controllerAs" Eigenschaft alle zusammen vermisste. –

Verwandte Themen