オブジェクト: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
プロパティを変更しません。テンプレートにエラーが表示されることはありません。一方、2番目の意思とその結果のエラーがテンプレートに表示されます。
私は約束の重要なスコープの問題がないと思います。
いつ、どこでどのように 'errors'プロパティが設定されていますか?おそらく 'requestPermalink'の内部に設定されていますか? –
'var'と言うと、' let'の代わりに、最初に関数 – Gurnzbot
を含むコンポーネントを追加して更新しましたか?ここには意味がありますか? – kumkanillam