// <!-- 模仿Vue構造函數 -this的指向問題->
var C = function (obj) {
for (key1 in obj) {
if (key1 == "data" || key1 == "computed") {
for (key2 in obj[key1]) {
this[key2] = obj[key1][key2]
}
}
var key1s = "$" + key1;
this[key1s] = obj[key1]
}
}
//-----------------------------------------------------------------------------------
var obj = {
data: {
a: 1,
b: 2,
afun: function () {
// this指向vm
return this.a;
}
},
el: {
el: 3
},
computed: {
bfun: function () {
// this指向vm
return this.b
}
}
}
var vm = new C(obj);
console.log("---------------------------------------------------------------------------------")
console.log(vm.afun())
console.log(vm.bfun())