Angularjs 将元素包装为角度指令时ng类出现问题
我将第三方指令包装为角度指令。让我们称之为Angularjs 将元素包装为角度指令时ng类出现问题,angularjs,angularjs-directive,wrapper,ng-class,angular-ng-class,Angularjs,Angularjs Directive,Wrapper,Ng Class,Angular Ng Class,我将第三方指令包装为角度指令。让我们称之为。我必须 在模板中,我在上有一个条件类,看起来像这样: <div ng-class="{'conditional-class':conditionalClassBoolean}"> <element-to-wrap ng-class="ngClass" other-attributes ... > </element-to-wrap> </div> angu
。我必须
在模板中,我在
上有一个条件类,看起来像这样:
<div ng-class="{'conditional-class':conditionalClassBoolean}">
<element-to-wrap
ng-class="ngClass"
other-attributes ... >
</element-to-wrap>
</div>
angular...directive('wrapper', function() {
return {
restrict: 'E',
scope: {
ng-class: '@'
},
...
};
});
这很好,直到我将条件类引入到模板中。只要我不将类传递给包装器,它也可以正常工作,这样就可以传递给内部元素
以下代码起作用:
<wrapper ... ></wrapper>
它似乎列出了通过ng class
传入的所有“类”,但这发生在它评估是否应应用条件类之前。
有办法解决这个问题吗
我也试着用逗号和分号来分隔事物。它没有应用到内部元素上。只有错误信息消失了
更新(截至1月17日)
我似乎能够用一种简化的方式重现这个问题
基本上,有一个指令(tobe wrapped),它不替换它的容器标签。然后,还有包装指令,它确实如此
这就是我最终拥有[{a}{b}]
和[a{b}]
类型的类列表的原因
仍然不知道是否有可选的解决方案,或者我只是在这里做了一些完全错误的事情。我能够通过包装器上的cutom属性来解决它:
,并使用innerClass
变量。所以,我的问题相当理论化。我对上面的解决方案很感兴趣。我能够通过包装器上的cutom属性来解决它:
,并使用innerClass
变量。所以,我的问题相当理论化。我对上述问题的解决方案感兴趣。
<wrapper ng-class="apply-this-on-the-inner-element" ... ></wrapper>
Error: [$parse:syntax] Syntax Error: Token '{' is an unexpected token at ...
of the expression [apply-this-on-the-inner-element {'conditional-class':conditionalClassBoolean}]