当前位置:  开发笔记 > 编程语言 > 正文

Aurelia绑定:反复调用property-getter

如何解决《Aurelia绑定:反复调用property-getter》经验,为你挑选了1个好方法。

我目前正在学习和使用Aurelia,并且发生了一些奇怪的事情(可能是正常的).

使用以下代码时

export class NavBar {
  get username() {
    console.log('o_o')
    return 'name' + Date.now()
  }
}

在模板中${username},用户名总是每秒更新几次(当然,console.log也会多次记录).

解决方法是简单地使用函数而不是getter并${username()}在模板中调用.但这种行为是正常的吗?所以我有时候应该使用getter有时候不是吗?

谢谢!



1> Jeremy Danyo..:

这是正常的,Aurelia轮询你的财产进行更改,因为它无法知道你的属性获取器何时会返回不同的值.

如果它是一个简单的属性(没有吸气剂),Aurelia可以直接观察该属性,不需要轮询.

为了避免轮询,你可以告诉Aurelia的绑定系统要注意什么:

import {computedFrom} from 'aurelia-framework';

export class Foo {
  _username = 'hello';

  @computedFrom('_username')
  get username() {
    return this._username;
  }
}

另一种选择是使用一次性绑定:

${username & oneTime}

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有