Angularjs 实际上,为什么类和注释指令没有绑定?

Angularjs 实际上,为什么类和注释指令没有绑定?,angularjs,angularjs-directive,Angularjs,Angularjs Directive,普朗克: 我希望这两个看起来是一样的: <span dt-attrib="{{person.name}}">This won't be here</span><br/> <span class="dt-class: {{person.name}};">This won't be here.</span> - this does not process 代码: 事实上,你用这句话击中了自己的脑袋。这不会在这里。-这会进行处理,没有大括号

普朗克:

我希望这两个看起来是一样的:

<span dt-attrib="{{person.name}}">This won't be here</span><br/>
<span class="dt-class: {{person.name}};">This won't be here.</span> - this does not process
代码:


事实上,你用这句话击中了自己的脑袋。
这不会在这里。-这会进行处理,没有大括号
。类指令采用C-Class:
(请参阅)的形式,这意味着该指令将传递给解析器并从解析器绑定,而不是在大括号解析阶段

在属性案例中看到它处理的原因是预处理器(angular core指令编译器)不知道跳过您创建的属性,因此它仍然处理它,然后将值作为表达式发送,该表达式将仅返回

This text was set by the dtAttrib directive, value="Burt Finklestein"
This text was set by the dtClass directive, value="{{person.name}}"
app.directive("dtAttrib", function() {
    return {
        restrict: "A",
        link: function(scope, element, attrs) {
            element.text('This text was set by the dtAttrib directive' + DisplayValueString(attrs.dtAttrib));
            }
        }
    }
});

app.directive("dtClass", function() {
    return {
        restrict: "C",
        link: function(scope, element, attrs) {
            element.text('This text was set by the dtClass directive' + DisplayValueString(attrs.dtClass));
        }
    };
});