簡體   English   中英

Aurelia綁定:多次調用屬性獲取器

[英]Aurelia binding: property-getter called repeatedly

我目前正在學習和使用Aurelia,正在發生某種奇怪的事情(也許是正常的)。

使用以下代碼時

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

並且在${username}模板中,用戶名總是每秒更新幾次(當然,console.log也記錄了好幾次)。

解決方法是僅使用函數而不是getter並在模板中調用${username()} 但是這種行為正常嗎? 所以我應該有時使用吸氣劑嗎?

謝謝!

這是正常現象,Aurelia會輪詢您的財產是否有變化,因為它無法知道您的財產獲取者何時將返回不同的值。

如果這是一個簡單的屬性(沒有吸氣劑),Aurelia可以直接觀察該屬性,不需要輪詢。

為了避免輪詢,您可以告訴Aurelia的綁定系統要觀察什么:

import {computedFrom} from 'aurelia-framework';

export class Foo {
  _username = 'hello';

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

另一種選擇是使用一次性綁定:

${username & oneTime}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM