基本設置:如何將控制器的範圍屬性傳遞給自定義指令?
我有了它內部的自定義指令(子元素)模式窗體。自定義指令是一個按鈕。該模式也由一個輸入複選框組成。
最終目標:
每當複選框被「託運」,自定義指令/按鈕元素應該被啓用。如果複選框爲「未選中」,則應禁用自定義指令/按鈕。
我有什麼到目前爲止AKA我的思維過程:
在「modalController」我把一個NG-模型上的複選框輸入動態地改變一個變量(器isChecked)的值。當檢查輸入時,它將$ scope.isChecked值設置爲true,當它未被選中時,$ scope.isChecked爲false。
爲了禁用按鈕,我會將'isChecked'的值從modalController傳遞到自定義指令,其值可以放置在指令模板內的按鈕上的ng檢查表達式中(參見下文)。
的問題
當我嘗試這個解決方案,控制檯日誌顯示一個錯誤,說「inputCheck沒有定義」。只要頁面加載,就會發生這種情況,所以控制檯日誌在用戶甚至可以單擊複選框之前打印出來。關於如何使這項工作的任何想法?
HTML模式:
<div ng-controller= "modalController">
<input type="checkbox" ng-model="isChecked">
<button-directive inputCheck="isChecked"></button-directive>
</div>
ButtonDirective.js:
angular.module('starter').directive('buttonDirective', function ($uibModal) {
return {
restrict: "EA",
templateUrl: "app/directives/button-directive.html",
scope: {
inputCheck: "@"
},
controller: ['$scope', function ($scope) {
console.log(inputCheck);
}]
};
});
按鈕directive.html:
<button ng-checked="inputCheck">
$ scope.inputCheck是否工作? – toddmo
不,它只是說它是undefined –
我可以理解爲什麼downvote? –