var news = {
data(){
return {id:101, title:'新闻标题'};
},
methods:{
show(){
alert(this.id);
}
}
};
// 然后我们可以这样访问
Object.assign(news.methods, news.data());
news.methods.show();
前面我们知道,可以通过Object.assign把多个对象合并到模板对象里面。
现在,我们建立一个名为God的对象,God有个方法叫做extends接受object参数,当我们把news对象传进去的时候,就可以执行:
God.extends(news);
God.news.methods.show();
全部代码:
var God = {
extends(name, obj){
/*
* 我们约定对象中必须有 data和methdos2个属性
* 并且data是函数,methods是对象
* */
if('data' in obj && 'methods' in obj && typeof obj.data=='function' && typeof obj.methods=='object'){
var getData = obj.data();
if (typeof getData == 'object'){
Object.assign(obj.methods, getData);
this[name] = obj;
}
}
}
};
var news = {
data(){
return {id:101, title:'新闻标题'};
},
methods:{
show(){
alert(this.id);
}
}
};
// 然后我们可以这样访问
God.extends('name',news);
God.name.methods.show(); // 101
298



被折叠的 条评论
为什么被折叠?



