我使用自定义指令下拉列表并使用link()
方法绑定下拉列表,但ng-change
事件未触发。
app.directive("reportfId", function(){
return {
restrict:'AE',
template: '<select id="item" multiple="multiple" ng-model="item" class="form-control" style="display:inline-block; " ng-change="binddl()" ></select>',
link: function(scope, element, attrs, ctrl)
{
$.each(scope.freports, function (i, value) {
element.append(new Option(value.name, value.id, false, false));
});
element.multiselect({ multiple: false, minWidth: 158, selectedList: 1, height: 100, noneSelectedText: "Select Report ", header: "Select Report" }).multiselectfilter();
}
}
});
答案 0 :(得分:0)
如果ng-change="binddl()", binddl()
绑定dl()方法是在指令外定义的,那么它将不起作用,因为你在指令中创建另一个范围。
link: function(**scope**, element, attrs, ctrl)
因此,由于此ng-isolate-scope
将在指令模板代码上处于活动状态。因此,任何外部函数,模型变量都不会在指令模板代码中起作用。