私はangularjsに少し戸口です。私はディレクティブを書いていますが、bindToControllerの動作を理解できません。私はこの有用な記事http://blog.thoughtram.io/angularjs/2015/01/02/exploring-angular-1.3-bindToController.htmlを読んでいますが、なぜ私は未定義の次の例で理解できません。ディレクティブのバインドが定義されていません
.directive('firstDirective', function(){
return {
restrict: 'E',
replace: true,
scope: true,
bindToController: {
directiveInput:'='
},
templateUrl: 'components/directive-tree/directive-tree.html',
controllerAs: 'directiveTreeCtrl',
controller: function($scope, $uibModal){
var self = this;
self.selected = null;
console.log(self.directiveInput); //HERE IS THE UNDEFINED
$scope.modalOptions = {
windowClass: 'semi-modal',
}
this.openDirectiveModal = function(object, index) {
//Other irrelevant code
}
}
}
});
その後、私はHTMLテンプレートの入力を問題なく使用できます。 HTMLテンプレートで、私はdirectiveInputを使用することができますし、それが正しい値と私はconsole.logでインスタンスの「未定義」を見せて、なぜ
<ul>
<li ng-repeat="object in directiveTreeCtrl.directiveInput">
{{object.Id}} {{object.Name}}
</li>
</ul>
?
多分それは愚かな質問です。あなたは一般的に
'<最初のディレクティブ>あなたのhtmlで 'first-directive>'と表示されます。 [Official angular directive documentation](https://docs.angularjs.org/guide/directive)はより完全です –
@TomShen私は正しく使用しています。私が持っている唯一の疑念は、なぜ私はそのconsole.log()で定義されていない取得し、私はそれをレンダリングするときに、そのオブジェクトを使用することができます – acostela