Angular JS - ng-change事件未触发

时间:2016-06-14 09:45:32

标签: angularjs

我使用自定义指令下拉列表并使用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();

    }
      }
});

1 个答案:

答案 0 :(得分:0)

如果ng-change="binddl()", binddl()绑定dl()方法是在指令外定义的,那么它将不起作用,因为你在指令中创建另一个范围。

link: function(**scope**, element, attrs, ctrl)

因此,由于此ng-isolate-scope将在指令模板代码上处于活动状态。因此,任何外部函数,模型变量都不会在指令模板代码中起作用。

检查AngularJS: Call external functions from directive?

相关问题