【发布时间】:2019-11-13 00:03:57
【问题描述】:
我正在查看class (this one)。 doco for it suggests you can extend the class to change a property of the class。没错,它对我有用。
但是我想要做的是动态地提供设置的值。
我有两个问题。
第一
如何调整the demo 以便动态提供使用的值。
第二
当我查看课程时,我意识到这似乎是代码的重要部分......
ajax (url, data = {}, method = this.method) {
const ajaxSettings = assign(
{},
{
contentType: false,
processData: false,
xhr: () => {
const xhr = $.ajaxSettings.xhr();
xhr.upload.onprogress = (event) => {
this.didProgress(event);
};
this.one('isAborting', () => xhr.abort());
return xhr;
},
url,
data,
method
},
get(this, 'ajaxSettings')
);
return this.ajaxPromise(ajaxSettings);
},
...我不确定我理解“扩展”是如何做它正在做的事情的。 ajaxSettings 在ajax 函数中使用,那么extend 如何到达函数内部并将扩展中提供的值合并到函数中的硬编码值中?
希望这个问题是有道理的......如果你不写一本书就无法管理“第二”,我会很乐意回答“第一”;-)
回应cmets
【问题讨论】:
-
你能发布
extend和get的定义吗? -
@Bergi :感谢您的评论,我现在已经解决了这个问题,但我将编辑问题以包含这些定义以供其他人使用。
标签: javascript inheritance ember.js ecmascript-6 prototypal-inheritance