gpt4 book ai didi

angular - 在属性绑定(bind)上无限期调用的函数

转载 作者:太空狗 更新时间:2023-10-29 17:59:06 27 4
gpt4 key购买 nike

我在我的 Angular 应用程序中发现了一个非常奇怪的问题。

假设我有一个简单的 example.component.ts

@Component({
moduleId: module.id.toString(),
selector: 'example',
templateUrl: 'example.component.html',
styles: [``]
})
export class ExampleComponent{
get buttonShouldBeDisabled(){
console.log("property call");
return true;
}
}

模板定义如下

<html>
<body>
<button type="button" [disabled]="buttonShouldBeDisabled">Button</button>
</body>
</html>

现在在我的浏览器控制台中我可以看到,字符串“property call”被无限期记录。 Indefinite property call

什么可能导致这种行为?我是否理解正确,这意味着我的属性被一遍又一遍地调用,这可能导致浏览器不响应用户操作?

最佳答案

你的整体做法没问题,我会这样修改

export class ExampleComponent{
isValid: boolean;

buttonShouldBeDisabled(){
console.log("property call");
return this.isValid;}}

将您的 html 元素绑定(bind)到 isValid

<button [disabled]="!buttonShouldBeDisabled>Button</button>

现在您可以简单地设置 bool 值,例如单击另一个按钮以切换“禁用”希望这对您有所帮助,来自柏林的问候。

关于angular - 在属性绑定(bind)上无限期调用的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44779183/

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