ng-options不是由$ compile in指令编译的

时间:2015-05-01 09:24:37

标签: angularjs angularjs-directive

我在diretive中尝试了一个没有使用模板选项的指示,其中我有一个字段,这是一个html字符串,我正在尝试使用$ compile指令编译,但它不起作用。不知道我在哪里出错了。

这是我的小提琴:http://jsfiddle.net/egyxjo42/1/

指令名称:my-dropdown-b

1 个答案:

答案 0 :(得分:1)

这是因为当你在没有模板的情况下工作时,定义元素中的ng-model不会被转换为新元素,所以你必须添加你自己的ng-model

link: function (scope, element, attrs, ctrl) {
        var ele = "<select ng-options='i.id as i.name for i in foodB' ng-model='"+attrs.ngModel+"'></select>";

        element.html(ele);
        $compile(element.contents())(scope);
    }