Open LingYanSi opened 9 years ago
canvas画二维码
业内的话arttemplate应该还不错
简单的模版引擎已经实现,代码如下
rendeTpl: function(template,obj) {
// template进来后,需要解析,简单一点的花就是匹配{{}}
// 然后将花括号内的变量替换为字符串?
var arr1 = template.split(/\{{2}[^\}\{}]+\}{2}/); // 把字符串按{{xxxx}} split成数组
var arr2 = template.match(/\{{2}[^\}\{}]+\}{2}/g); // 匹配所有{{xxxx}}
var str = arr1.map(function(ele,index,arr){
var str = '' ;
if(arr2[index]){
var arr3 = arr2[index].replace(/[\{\}]/g,'').split('.').slice(1);
var obj_1 = obj ;
for(var i=0,len=arr3.length;i<len;i++){
obj_1 = obj_1[arr3[i]] ;
}
str = obj_1 ;
}
return ele+str ;
}).join('');
return str ;
}
以上,并不能执行逻辑,只是简单的解析、赋值
简单的todomvc已经实现,但还是太简单了
关于webpack vue-loader那一套
所谓数据驱动,就是在数据发生变化的时候,可以被监听到,然后就可以做一些事情,比如说dom渲染,以及请求服务器做CURD等
1.自己创建一个对象,但是属性的改变不是通过object.property改变的,而是通过其他途径,其代表为backbone 2.使用Object.defineProperty(property,desp),覆盖默认的属性定义,获取属性的getter,setter方法,自定义其行为,其代表为vue.js 3.使用Object.observe(),es7标准,大部分浏览器都不支持
综上,使用Object.defineProperty来实现是比较合适的
没有目的性的学习,效率不太高。 需要系统性的深入学习