当前位置: 首页 > 面试题库 >

KO.Angular / Breeze初始化器中的计算等效项

汲品
2023-03-14
问题内容

试图更深入地了解Angular如何对待数据绑定并更好地理解它,而一件事情却很难引起我的注意-

在淘汰赛中,我使用计算机来跟踪对属性的更改。在Angular中,将这种逻辑移到视图中对我来说是微不足道的,但是我知道,如果这样做的话。

我的问题是,当我使用Breeze / Angular初始化新实体时,如何创建类似计算的属性,当实体属性发生更改时通知这些属性?

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

在Angular中相当于

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

并能正确追踪实体吗?


问题答案:

您简单地使其成为函数是正确的。如果您将如图所示的实体添加到中$scope,那么您将像这样访问属性:

<span class="fullname">{{ user.fullName() }}</span>

每当Angular运行一个$digest循环时,它将检查bound属性的更改。在这种情况下,这意味着它将调用该fullName()函数并检查结果是否已更改。如果有的话,任何$watch与该项目相关的内容(包括简单的绑定)都将收到更改通知。

但是,此技术的一个警告是,要确保在功能内执行的操作相对较快,并且没有副作用。这样的绑定函数将在整个应用程序中多次调用

如果需要具有更复杂的功能,最好在控制器内进行处理,并在对象更改时手动更新对象的属性。



 类似资料:
  • 问题内容: 我知道您可以在实例化期间初始化数组,如下所示: 有没有办法用ArrayList做同样的事情?还是我必须单独添加内容? 问题答案: Arrays.asList可以在这里提供帮助:

  • 我使用的是一个简单的客户端 普罗米修斯 版本 0.6.0 我有一组以这种方式定义的计数器 我将这个类注入到我需要它的地方,然后调用addCdProductVicessCreated()等方法,但对于没有值的指标,当我抓取它们时,它们看起来是空的,例如: 我的问题是如何初始化值为0的计数器,以便即使未调用inc方法也能显示出来

  • 22. 初始化容器 上节课我们学习了容器的健康检查的两个探针:liveness probe(存活探针)和readiness probe(可读性探针)的使用方法,我们说在这两个探针是可以影响容器的生命周期的,包括我们之前提到的容器的两个钩子函数PostStart和PreStop。我们今天要给大家介绍的是Init Container(初始化容器)。 Init Container就是用来做初始化工作的容

  • 我想开发一个Spring AOP特性,在这个特性中,我们可以在Spring bean初始化期间将一个点切入/放入其中,以便根据业务需要计算一些统计信息。我想知道是否可以使用SpringAOP模块?

  • 问题内容: 我想开发一个spring AOP功能,我们可以在spring bean初始化期间放置一个切入点/切入点,以便根据业务需要计算一些统计信息。我想知道是否可以使用spring AOP模块? 问题答案: 您可以使用以下组件来测量初始化时间: 但是这次不包括运行构造函数的时间。 但是,您可以在读取所有bean定义之后记录一下,然后运行所有bean构造函数。为此使用BeanFactoryPost

  • 问题内容: 在Java的“ 隐藏功能”中,最常见的答案是,其语法非常诱人: 此成语创建一个匿名内部类,其中仅包含一个实例初始化程序,该实例“可以使用包含范围内的任何方法”。 主要问题:这听起来像效率低下吗?它的使用是否应仅限于一次性初始化?(当然还有炫耀!) 第二个问题:新的HashSet必须是实例初始化程序中使用的“ this”……任何人都可以阐明该机制吗? 第三个问题:这个习惯用法是否太晦涩,