我不知道下面的區別的:的Javascript對象範圍界定
export default Ember.Component.extend({
errors: {},
performPermalinkUpdate: function(){
let errors = this.get('errors');
this.requestPermalink(this.get('title'), this.endpoint).then((resp) => {
// Do success stuff
}).catch((resp) => {
Ember.set(errors, 'permalink', "Test");
});
}
});
VS
export default Ember.Component.extend({
errors: {},
performPermalinkUpdate: function(){
this.requestPermalink(this.get('title'), this.endpoint).then((resp) => {
// Do success stuff
}).catch((resp) => {
let errors = this.get('errors');
Ember.set(errors, 'permalink', "Test");
});
}
});
第一個實際上並沒有改變errors
財產。該錯誤從未出現在模板上。而第二個和結果的錯誤顯示在我的模板上。
我想我錯過了一個關鍵的範圍問題與承諾。
何時何地錯誤屬性設置?它可能是在'requestPermalink'裏面設置的嗎? – 2016-11-16 17:23:27
如果您說'var',則更新w/more包含第一個函數 – Gurnzbot
的組件,而不是'let'?這裏有什麼意義嗎? – kumkanillam