modeltoview
var model = {
name: "javascript"
};
// 使传入的数据变成响应式数据
observify(model);
//监听数据修改
watch(model, "name", function(newValue, oldValue){
console.log("name newValue: ", newValue, ", oldValue: ", oldValue);
});
model.name = "php";
untitled
数据通知view(事件机制)
view通知数据(数据劫持Object.defineProperty/Proy),对象用方法重定义
不想要每次数据变都通知,有监测到的数据变化才通知(数据依赖)依赖收集,get的时候开始收集
通知变化,set根据收集数据决定是否触发
将依赖收集和触发通知分离出来,单独实现
viewtomodel
var model = {
click: false
};
var button = document.getElementById("button");
button.addEventListener("click", function(){
model.click = !model.click;
})