gpt4 book ai didi

angular - [property]= 和 Angular 4 标记中的属性有什么区别?

转载 作者:行者123 更新时间:2023-12-05 03:07:22 27 4
gpt4 key购买 nike

所以让我们为 PrimeNG 表添加以下标记

<p-dataTable
selectionMode="multiple"
[(selection)]="selectedUsers"
dataKey="id"
[value]="users">

selectionMode="multiple"[selection]="multiple" 之间显然存在差异,因为第二个变体不会使表格可选。有什么区别??

有那么一会儿,我认为 property= 会设置一次值,而 [property]= 会将该属性绑定(bind)到输入值,这样它就会反射(reflect)它的变化,但是如果就是这样,在我的情况下,两个变体表的行为应该相同。

最佳答案

区别在于引擎盖下使用的装饰器

对于这种情况 [property]=""组件 ts 文件使用 @Input 装饰器实现该属性。

对于像这个属性=“”的情况,组件 ts 文件使用 @Attribute 装饰器实现该属性。

看这个例子:

export class MyComponent {

@Input() public title1: string;
public title2: string;

constructor(@Attribute('title2') titleAttr) {
this.title2 = titleAttr;
}

}

那么,你可以像这样使用它:

<my-component [title1]="'testing'" title2="testing2"></my-component>

另一件需要牢记并能够决定何时使用的事情是您要传入的值类型。虽然输入接受来自组件上下文的变量,但属性只接受在线传递的值。

请注意,在上面的示例中,对于输入,我使用单引号在线传递字符串,但它可能没有引号和现有变量的名称。

关于angular - [property]= 和 Angular 4 标记中的属性有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47679195/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com