带有ng-repeat作为自包含内容的自定义指令

丹尼尔·奥尔瑟夫斯基(Daniel Olszewski)

我正在处理包装多选jQuery插件的指令我的目标是将以下HTML转换为动态多选:

<select multiselect multiple ng-model="selected">
    <option>Static option 1</option>
    <option>Static option 2</option>
    <option ng-repeat="value in values">{{value}}</option>
</select>

请注意,可以直接添加选项,也可以使用ng-repeat迭代动态选项。

这是我编写指令的方式:

app.directive('multiselect', function () {
    return {
        restrict: 'A',
        scope: {
            model: '='
        },
        transclude: true,
        require: 'ngModel',
        link: function (scope, element, attrs, controller, transclude) {
            transclude(function (clone) {
                element.append(clone);
                $(element).multiselect();
            });
        }
    };
});

问题在于,虽然该指令有效并且用jQuery multiselect插件替换HTML,但它仅显示静态提供的选项。使用ng-repeat创建的选项不会显示在插件中,即使可以在Angular呈现的HTML源代码中看到它们也是如此。在插件创建multiselect之后,似乎将transclude克隆附加到了元素上。

是重现此问题的JSFiddle

我的理解正确吗?这种现象的可能原因是什么?

亚伦·史威默(Yaron Schwimmer)

我不知道为什么你的方式不起作用,但更换option标签+ngRepeatngOptions似乎做的伎俩。

<select multiselect multiple ng-model="selected" ng-options="value for value in values">
  <option>Static option 1</option>
  <option>Static option 2</option>  
</select>

工作中的JSFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有角度的。内含ng-repeat的自定义指令

来自分类Dev

围绕ng-repeat内容包装时,Angular自定义Collapsable指令失败

来自分类Dev

结合Angular指令,特别是带有ng-mousemove的自定义指令

来自分类Dev

ANgularjs:ng-repeat和嵌套的自定义指令

来自分类Dev

带templateUrl和ng-repeat的自定义指令

来自分类Dev

使用ng-repeat嵌套自定义指令

来自分类Dev

带templateUrl和ng-repeat的自定义指令

来自分类Dev

ANgularjs:ng-repeat和嵌套的自定义指令

来自分类Dev

带有ng-animate $ animate的自定义动画

来自分类Dev

AngularJS:ng-repeat在具有隔离范围的自定义指令上

来自分类Dev

ng-repeat中具有动态字段名称的自定义指令

来自分类Dev

Bing地图上带有Angular指令内容的自定义图钉

来自分类Dev

自定义元素在ng-repeat中重复内容

来自分类Dev

带有ng-repeat的条件HTML

来自分类Dev

带有ng-repeat的AngularJS if语句

来自分类Dev

带有limitTo的AngularJS ng-repeat

来自分类Dev

带有角度翻译的ng-repeat

来自分类Dev

从带有参数的指令中调用ng-repeat的函数

来自分类Dev

带有ng-repeat和Ajax的AngularJS指令

来自分类Dev

带有ng-if的ng-repeat($ last)元素

来自分类Dev

ng-repeat中带有ng-if的$索引

来自分类Dev

带有ng-if的ng-repeat($ last)元素

来自分类Dev

AngularJS和带有ng-repeat的ng样式

来自分类Dev

AngularJS中带有ng-repeat的条件内容

来自分类Dev

带有隐藏功能的AngularJS自定义指令

来自分类Dev

带有自定义模板的AngularJS指令

来自分类Dev

带有自定义指令的 Angular ControllerAs 语法

来自分类Dev

ng-repeat中具有隔离范围的自定义指令:循环项突然为空

来自分类Dev

带有ng-repeat,ng-show“ Show more”和延迟加载的Angular指令

Related 相关文章

热门标签

归档