工厂函数/构造函数 参数选项
1. options: Object
工厂函数/构造函数 的参数选项
默认值: {}
1.1. el: String
上下文 dom selector
默认值: undefined
1.2. tagName: String
没传递 el 参数, 将用 tagName 创建一个 dom 上下文
默认值: 'div'
1.3. events: Object
绑定 dom 监听事件
默认值: {}
实例:
1.4. data: Object
view 的抽象 model
默认值: {}
可以利用实例的 set / get 方法来设置 / 获取对应的值
var App = Vir()
var app = new App({
data: {
index: 0
}
})
console.log(app.get('index')) // => 0
app.set('index', 1)
console.log(app.get('index')) // => 1
1.5. methods: Object
实例化的时候 合并 到 实例对象
默认值: {}
var App = Vir()
var app = new App({
methods: {
handler: function() {}
}
})
console.log(app.handler) // => function
1.6. watch: Object
set 一个 model 的时候触发对应回调
默认值: {}
var App = Vir()
var app = new App({
el: '#demo',
data: {
index: 0
},
watch: {
index: function(result) {
alert(JSON.stringify(result))
}
}
})
app.set('index', 100)
1.7. validate: Object
set 的时候验证钩子
var App = Vir()
var app = new App({
el: '#demo',
data: {
index: 0
},
validate: {
index: function(result) {
alert('验证 index:' + result.value)
if (result.value > 100) {
return false
}
}
},
watch: {
index: function(result) {
alert(JSON.stringify(result))
}
}
})
app.set('index', 100)
app.set('index', 101) // 失败
1.8. beforeInit: Function
初始化完成前执行
1.9. init: Function
实例初始化完成执行
1.10. inited: Function
init 完成后执行