我想构建一个指令,它将下拉(选择)链接到外部 jquery 插件。
这是该指令的 templateUrl 视图的代码:
<select multiple="multiple">
<option data-ng-repeat="(key,label in opts)"
value="{{key}}">{{label}}</option>
</select>
这是我的指令的链接功能:
link: function(scope, element, attrs)
{
console.log( scope.opts );
console.log( $(element).html() );
$(element).chosen(); //call external plugin
}
这里的问题是,由于某种原因,当link
调用该函数时,选择尚未使用 ng-repeat 填充选项。因此,当我调用 jquery 插件时,它会显示一个空下拉列表,即使稍后选择填充了选项。
的输出console.log( scope.opts );
正确显示带有选项的对象,而console.log( $(element).html() );
仅显示:
<!-- ngRepeat: (key,label) in opts -->
有没有办法在 ng-repeat 填充选择时收到通知,所以我只能调用外部插件?