Angular2-避免属性绑定时的副作用
我们不允许在属性绑定中增加或设置值。在官方的Angular2文件中,他们声称: 表达式可以调用getFoo()之类的函数。只有你知道getFoo()做什么。如果getFoo()更改了某些内容,而您恰好绑定了这些内容,那么您可能会有不愉快的经历。角度可能显示也可能不显示更改的值。Angular可能检测到更改并抛出警告错误。通常,坚持使用数据属性和返回值的方法,不再执行其他操作 然而,我做了一个例子,我实际上覆盖了这个值并增加了它,然后将它设置为DOM属性,这一切都很好。这是我的密码:Angular2-避免属性绑定时的副作用,angular,property-binding,Angular,Property Binding,我们不允许在属性绑定中增加或设置值。在官方的Angular2文件中,他们声称: 表达式可以调用getFoo()之类的函数。只有你知道getFoo()做什么。如果getFoo()更改了某些内容,而您恰好绑定了这些内容,那么您可能会有不愉快的经历。角度可能显示也可能不显示更改的值。Angular可能检测到更改并抛出警告错误。通常,坚持使用数据属性和返回值的方法,不再执行其他操作 然而,我做了一个例子,我实际上覆盖了这个值并增加了它,然后将它设置为DOM属性,这一切都很好。这是我的密码: export
export class AppComponent {
myIndex: number = 0;
overrideMe(newValue:string) {
this.myIndex = parseInt(newValue);
this.myIndex++;
return this.myIndex;
}
}
和HTML:
{{myIndex}}
<input type="text" [value]="overrideMe(10)" />
{{myIndex}
从理论上讲,这应该是一种不好的做法并加以避免,但在现实生活中,这同样有效。所以我的问题是,什么是正确的案例来表示这些事情不应该做