首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ui-select2 2和ng-必需

ui-select2 2和ng-必需
EN

Stack Overflow用户
提问于 2014-05-06 15:08:03
回答 1查看 3.2K关注 0票数 0

我在ui-select2 2组件中使用require/ng-require时遇到了问题。出于可重用性的原因,我将ui-select2 2封装在一个自定义指令中,但无法获得使用它所需的条件。

这是柱塞:http://plnkr.co/edit/2NaGvDWoEw14BN2few9W?p=preview

在没有指令的情况下尝试,并且它正在工作:http://plnkr.co/edit/uE698iFcUNnsYVF2fkOO?p=preview

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-07 12:12:41

问题是角剂量不支持动态形状元素:

第1404期https://github.com/angular/angular.js/issues/1404

解决办法(直到1.3结束):

代码语言:javascript
复制
app.config(['$provide', function($provide) {
$provide.decorator('ngModelDirective', ['$delegate', function($delegate) {
    var ngModel = $delegate[0], controller = ngModel.controller;
    ngModel.controller = ['$scope', '$element', '$attrs', '$injector', function(scope, element, attrs, $injector) {
        var $interpolate = $injector.get('$interpolate');
        attrs.$set('name', $interpolate(attrs.name || '')(scope));
        $injector.invoke(controller, this, {
            '$scope': scope,
            '$element': element,
            '$attrs': attrs
        });
    }];
    return $delegate;
}]);
$provide.decorator('formDirective', ['$delegate', function($delegate) {
    var form = $delegate[0], controller = form.controller;
    form.controller = ['$scope', '$element', '$attrs', '$injector', function(scope, element, attrs, $injector) {
        var $interpolate = $injector.get('$interpolate');
        attrs.$set('name', $interpolate(attrs.name || attrs.ngForm || '')(scope));
        $injector.invoke(controller, this, {
            '$scope': scope,
            '$element': element,
            '$attrs': attrs
        });
    }];
    return $delegate;
}]);

来源:http://jsfiddle.net/Thinkscape/23RPt/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23498411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档