3
http://plnkr.co/edit/fFSoLmPFDBfNc2oOczZr?p=preview如何解決從正在對選擇列表進行ng更改的函數傳遞的意外參數?
指令代碼
.directive('inputSelect', function() {
return {
templateUrl: 'someTemplate.html',
restrict: 'E',
scope: {
ngModel: '=',
ngChange: '&',
options: '='
}
};
})
控制器代碼
$scope.someFunction = function(name) {
console.log(name)
};
$scope.colors = [{
name: 'black',
shade: 'dark'
}, {
name: 'white',
shade: 'light',
notAnOption: true
}, {
name: 'red',
shade: 'dark'
}];
模板代碼
<select ng-model="ngModel" ng-change="ngChange()"
ng-options="option.name for option in options">
</select>
代碼指令的使用
<input-select ng-model="someModel" ng-change="someFunction(someModel.name)" options="colors"></input-select>
因此,傳遞給someFunction()
的參數是undefined
或者它包含正確的值,該行爲是意外的並且是隨機的。
現在,如果我想傳遞一個以上的參數,以'someFunction()',另一個參數是在同一個控制器一些完全不同的模式,應該說,它是完成? –
@VishwajeetVatharkar你的模板應該通過它..但在這種情況下,你怎麼能想到更多的參數..你能給我舉個例子嗎? –
我懂了! http://plnkr.co/edit/1VfsCMFbx3LuagebaYje?p=preview –