我正在使用敲门传递配置信息的knockout.js组件。
淘汰代码列出默认选项,并使用ES2015(新Javascript)将它们与laravel参数合并,例如:
this.options = {};
const defaults = {
option1: true,
option2: false,
option3: true
};
Object.assign(this.options,defaults,data.options);
data.options是Laravel Blade中设置的选项
Object.assign工作正常,除了< = IE9
所以我必须插入代码而不是Object.assign:
for (var key in defaults) {
if (data.options.hasOwnProperty(key)) {
this.options[key] = data.options[key];
} else {
this.options[key] = defaults[key];
}
}
我很想杀掉这个旧代码,但仍使用以下NPM Babel转换支持IE9:
https://www.npmjs.com/package/babel-plugin-transform-object-assign
然而,Laravel Elixir似乎没有babel.rc配置,所以我无法让这个转换工作。
帮助表示赞赏!