Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了anglejs – KO.Computed等效于Angular/Breeze Initializer大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
试图更深入地了解Angular如何对待数据绑定和理解更好,有一件事很难让我的头脑 –

在Knockout中,我使用一个计算来跟踪属性的更改。在这个角度来说,把这个逻辑转化为这个观点,这对我来说是微不足道的,但如果这样做,我明白了。

我的问题是当我用Breeze / Angular初始化一个新的实体时,如何创建类似于计算的属性,在实体属性发生更改时通知它们?

@H_594_5@myEntity.fullName = ko.computed(function () { return myEntity.firstName + ' ' + myEntity.LastName; });

在Angular将相当于

@H_594_5@myEntity.fullName = function () { return myEntity.firstName + ' ' + myEntity.LastName; };

这样做是否正确跟踪实体?

你是正确的,只是使它成为一个功能。如果您所示的实体被添加到$ scope,那么你将访问这样的属性
<span class="fullname">{{ user.fullName() }}</span>

每当Angular运行$ digest循环时,它将检查对bound属性的更改。在这种情况下,这意味着它将调用fullName()函数并检查结果是否已更改。如果有的话,任何具有附加到该项目的$ watch的东西(包括简单绑定)将被通知该更改。

然而,这种技术的一个注意事项是确保在您的功能中执行的操作相对较快,也没有副作用。这样的绑定函数将在整个应用程序中被多次调用

如果需要一个更复杂的函数,那么最好在控制器中处理它,并在更改对象时手动更新对象上的属性

大佬总结

以上是大佬教程为你收集整理的anglejs – KO.Computed等效于Angular/Breeze Initializer全部内容,希望文章能够帮你解决anglejs – KO.Computed等效于Angular/Breeze Initializer所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。