文档 / 组件框架

(数据模型)Model

模型(Light.Model)

Lighting引入了双向模型绑定的概念,模型用来管理数据的,其定义是通过Light.defineView 方法定义出来的。

data

var data = { a: 1 }
// 直接创建一个实例
var model = new Light.Model({
data: data
})
model.a // -> 1
model.$data === data // -> true

methods

var vm = new Light.Model({
data: { a: 1 },
methods: {
plus: function () {
this.a++
}
}
})
vm.plus()
vm.a // 2

watch

var vm = new Light.Model({
data: {
a: 1
},
watch: {
'a': function (val, oldVal) {
logger.debug('new: %s, old: %s', val, oldVal)
},
// 方法名
'b': 'someMethod',
// 深度 watcher
'c': {
handler: function (val, oldVal) { /* ... */ },
deep: true
}
}
})
vm.a = 2 // -> new: 2, old: 1