属性指令应该使用selector:'[myDirective]'
语法的选择器,然后在<p myDirective ></p>'
之类的模板中使用。我还看到ngClass是属性指令,用法类似于[ngClass]="'class1 class2'"
。我想知道什么时候使用方括号,什么时候不使用。它与指令选择器和具有相同名称的属性绑定之间的某种关系有关吗?
答案 0 :(得分:0)
当需要对表达式求值时,使用方括号。 ngClass 可以不带括号使用。下面的代码会将class1和class2视为普通字符串。
ngClass="class1 class2"
答案 1 :(得分:0)
我认为这取决于您正在使用哪种实体。 在选择器中,如果您正在使用组件,则可以编写:
selector:'[myComponent]' => <div myComponent></div>
或
selector:'myComponent' => <myComponent></myComponent>
当涉及到属性绑定时,您可以编写
<div [title]="theTitleProperty"></div>
,它将html标题属性绑定到components属性theTitleProperty的值。 (alt div title =“ {{theTitleProperty}}”))
<div title="theTitleProperty"></div>
将为标题赋予值'theTitleProperty'
ngClass的替代方法可能是
<div [class]="theClassProperty"></div>
,然后将其@Inputs输入到组件。 任何组件都可能有一个@Input,您可以在两个括号之间使用它,也可以不使用 如果您的组件带有@Input()aText:string; 您可以这样使用它:
<my-component [aText]="myTextProperty"></div>
它会将控件属性myTextProperty发送到组件@Input 但是如果你这样写
<my-component aText="myTextProperty"></div>
它将把myTextProperty发送到组件中。
希望它会有所帮助