Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将元素包装为角度指令时ng类出现问题_Angularjs_Angularjs Directive_Wrapper_Ng Class_Angular Ng Class - Fatal编程技术网

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}]