ng 重复后初始化 AngularJS 插件
AngularJS plugin initialization after ng repeat
所以我正在使用MaterializeCSS,并有这段代码:
<select>
<option value="" disabled selected>Jump To Season</option>
<option option-item ng-repeat="item in series.seasons" value="{{item.id}}">
{{item.name}}
</option>
</select>
我使用此指令:
.directive("optionItem", [function () {
return {
restrict: 'A',
link: function (scope, element) {
if (scope.$last) {
$('select').material_select();
}
}
};
}]);
现在,元素确实根据需要重复多次,但不是显示 $scope.item.name 值,而是将 {{item.name}} 显示为纯文本,而不是表达式值。我该如何克服这一挫折?我尝试使用Material Angular md-select,但我也遇到了问题,每次单击选择时,我都无法单击网页中的任何内容,并且没有任何反应。
重要提示:series.seasons 数组是通过 ajax 调用获取的。
>option-item
select
<select option-item>
<option value="" disabled selected>Jump To Season</option>
<option ng-repeat="item in users" value="{{item.id}}">
{{item.name}}
</option>
</select>
和变更指令
.directive("optionItem", ['$timeout', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element) {
$timeout(function() { // wait ng-repeat
$('select').material_select();
})
}
};
}]);
http://jsfiddle.net/vorant/q9bkrzfo/5/
建议您尝试使用 $timeout()
看看移动到下一个摘要周期是否有帮助
.directive("optionItem", ['$timeout',function ($timeout) {
return {
restrict: 'A',
link: function (scope, element) {
if (scope.$last) {
$timeout(function(){
element.parent().material_select();
});
}
}
};
}]);
但是请注意,您可能还需要ngModel
控制器并从插件事件中自行管理模型更改
如果这不这样做,则创建一个 plunker 演示,其中包含复制此内容所需的资源
相关文章:
- 为什么 angularjs 插件无缘无故地使用 $timeout
- 如何在没有任何浏览器插件的情况下调试AngularJS绑定{{expression}}
- AngularJS-放置第三方插件默认值的位置
- 将jquery插件应用于angularJS ng repeat中的新项目
- AngularJS-jquery插件SelectBoxIt在ng个选项完成填充select之后
- 在应用程序加载和 angularjs 中的每个状态更改时调用 jquery 插件
- 包括一个带有 angularjs 的插件
- AngularJS选择的插件,选择:更新不起作用,在浏览器中工作
- 使用 AngularJS 调用 jQuery 插件函数
- angularjs ng-view - jQuery 插件问题 - 需要建议
- Angularjs (ng-click, ng-change) 指令不适用于 icheck 插件
- jquery raty 插件通过 AngularJS 设置速率值
- 将jQuery插件转换为AngularJS指令 - 如何应用if/else
- 我可以在angularjs指令中使用JQuery插件吗?
- 在 AngularJS 渲染后执行一个 Jquery 插件
- AngularJS:在服务/控制器中加载插件对象
- ng 重复后初始化 AngularJS 插件
- 如何将jquery插件用于我的AngularJS单页应用程序
- 无法让Eclipse AngularJS插件中的Angular编辑器正常工作
- jQuery或angularjs插件来构建动态报告