如果我有兩個指令,一個是表格,另一個是連續的。在這種情況下,每一行都是相同的,我只想讓它在index.html中顯示兩次。 <table-row>
工程在index.html中,但<table>
不是爲什麼?使用ControllerAs語法的指令中的自定義指令
即:
.directive('table', function() {
return {
restrict: 'E',
scope: {},
controller: 'table-ctrl',
controllerAs: 'ctrl',
bindToController: true,
template:`
<div>
<table-row></table-row>
<table-row></table-row>
</div>`
};
});
錶行:
.controller('TableRowCtrl', function() {
this.toggle = function() {
this.toggleBool = !this.toggleBool;
}
//
this.toggleBool = false;
})
.directive('TableRow', function() {
return {
scope: {},
restrict: 'E',
replace: true,
controller: 'TableRowCtrl',
controllerAs: 'ctrl',
bindToController: true,
template: `
<div>
<span>Object</span>
<span>
<img ng-click="ctrl.toggle()" src="jpeg file" />
</span>
<span ng-if="ctrl.toggleBool"> Print </span>
</div>`
};
});
如果table-row
是其他指令,做一切和它的控制器也什麼對點擊次數等運行時,我將如何在table-row
鏈接指令,以便table
指令模板能夠正常工作,並且會多次呼叫table-row
.I想繼續使用ControllerAs
語法而不是$scope
。
請仔細閱讀本https://docs.angularjs.org/guide/directive明確 –