代码:
vue.js
// vue 起手势
(function(root,factory) {
root.Vue = factory();
})(this,function(){
// 设置基础的默认配置
var DAFALUT = {
el:"body",
data:{}
}
var Vue = function(options){ // options用户传的参数 以默认优先 以用户配置为覆盖
// this指向vue的实例
// 扩展(在vue的原型上)
this.extend(this, DAFALUT,options); // 将DAFALUT的属性扩展到this上
console.log(this.el);
this.observer();
}
Vue.prototype = {
extend:function(){ // 对象扩展
// arguments 用于用户调用时传入的参数
for(var i=1;i<arguments.length;i++){ // 从1开始,不需要循环this
// for in 可枚举属性, 针对对象
for(var name in arguments[i]){ // 0
this[name] = arguments[i][name]
// el data
}
}
},
observer:function(){ // model 观察者模式
for(var key in this.data){
//
}
}
}
return Vue;
});
new Vue({
el:"app"
});
// var obj = {
// //
// }
// obj.name
// obj[name]
// $.extend(true, target object, object)
.