[英]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.