我正在構建一個使用自定義指令的輸入過濾的可單擊選項列表。Angular Custom Directives:使用鏈接函數內的參數調用一個函數
HTML:
<combobox
input-model="myModel"
options="myList"
option-label="label"
option-select="selectFn()"></combobox>
的指令(簡體):
app.directive("combobox", function() {
return {
restrict: "E",
replace: true,
template: "<input type=‘text’ ng-model=‘inputModel’ />" +
"<button ng-repeat='option in options | " +
"filter: inputModel’" +
"ng-mousedown=‘optionSelected(option)’" +
">{{option[optionLabel]}}</button>",
scope: {
inputModel: "=",
options: "=",
optionLabel: "@",
optionSelect: "&"
},
link: function(scope, elem, attrs) {
scope.optionSelected = function(option) {
// some stuff here...
scope.optionSelect();
}
}
}
})
範圍:
$scope.myList = [
{ label: "First Option", value: 1 },
{ label: "Second Option", value: 2 },
{ label: "Second Option", value: 2 }
]
$scope.selectFn() = function() {
// doing stuff here...
}
但我想打電話給selectFn與調用它的選項屬性。喜歡的東西:
option-select=「selectFn(option.value)」
或
scope.optionSelect(option);
這可能嗎?我可以在範圍內調用函數並從鏈接函數內傳遞參數嗎?
由於定製原因,我不能使用組合框庫,如ui-select。