第十五章 前端模板
Closed this issue · 1 comments
原文:套页面的过程实际就是将静态页面变成切割成一块块,每一块都是一个php,jsp或vm文件,它们是后端模板引擎的处理对象!
建议:套页面的过程实际就是将静态页面切割成若干功能块,每一块都是一个php,jsp或vm文件,它们是后端模板引擎的处理对象!
原文:
var data = {
name: "司徒正美",
age: 20
}
大抵是这样
var body = '你好,我的名字叫'+ data.name+ ', 今年已经 '+data.info.age+ '岁了'
var render = new Function('data', 'return '+ body)
建议:
var data = {
name: "司徒正美",
info:{
age: 20
}
}
因为你接下来所有的例子都是,data.info.age
原文:哪个变量发生改动,那么只有涉及变量的属性值,nodeValue才会改会。于是就没有原来静态模板的三大副作用,性能上也大为提升。
建议:哪个变量发生改动,那么只有涉及变量的属性值,nodeValue才会改变。于是就没有原来静态模板的三大副作用,性能上也大为提升。
原文:因此我们可以说,动态模板就是观察者模式的架设!就像国家那样,通过电视杆与电线将农村联结在一起。
建议:因此我们可以说,动态模板就是观察者模式的架设!就像国家那样,通过电线杆与电线将农村连接在一起。
原文:指令是什么呢?一个标记,标记它会对当前元素进行怎么样的操作。通常指令是以元素属性的形式存在,但angular存在多种指令形式,tagName, comment, attribute, className与双花括号形式的插值。
建议:指令是什么呢?一个标记。标记它会对当前元素进行怎么样的操作呢?通常指令是以元素属性的形式存在,但angular存在多种指令形式,tagName, comment, attribute, className与双花括号形式的插值。
原文:MVVM框架通常有一个扫描过程,将所有它感兴趣的元素进行收集。这个扫描与收集后面会说。而这些感兴趣的元素都是带有指令的。
建议:MVVM框架通常有一个扫描过程,将所有它感兴趣的元素进行收集。这个扫描与收集后面会说。而这些它感兴趣的元素都是带有指令的。
原文:当一次数据发生变动时,会进行新值与旧值比较,决定它是否进度入刷新函数这一步。
建议:当一次数据发生变动时,会进行新值与旧值比较,决定它是否进入刷新函数这一步。
原文:
- 干掉所有正则,这个有好用的正则
- 干掉所有字符串,这个也有正则可用,但不太好用,建议实现一个方法来处理
- 干掉所有对象的子属性
- 干掉所有关键字与保留字
- 干掉所有操作符与数字
- 去掉与利用hasOwnProperty进行过滤变量与局部变量(就是之前说的, i, el问题)
建议:
- 干掉所有正则字面量,这个最好用的正则(我对这段话的理解是这样的)
原文:动态依赖收集,而要对求值函数进行深改造,要执行一下求值函数,让里面前端的赋值语句被执行,从而触发访问器属性的getter方法。
建议:动态依赖收集,要对求值函数进行深改造。要执行一下求值函数,让里面前端的赋值语句被执行,从而触发访问器属性的getter方法。
原文:刷新函数是内置的视图刷新方法。有多少种指令,就有多少种方法。换言之,这一节主要能出通用的指令类型。
建议:刷新函数是内置的视图刷新方法。有多少种指令,就有多少种方法。换言之,这一节主要介绍通用的指令类型。
原文:在IE6-8下,文本节点与注释节点是不能添加自定义属性,这就是avalon不采用此方的缘故。
建议:在IE6-8下,文本节点与注释节点是不能添加自定义属性,这就是avalon不采用此方案的缘故。
原文:因此我们可以抢选在上面把binding.expr放到上面去。这样就实现绑定一次事件的效果。
建议:因此我们可以抢先在上面把binding.expr放到上面去。这样就实现绑定一次事件的效果。
原文:由于元素节点有七重原型链,每重都有占有大量属性名与方法名,中奖机率比六合彩高多了,因此此方案早早出局。
建议:由于元素节点有七重原型链,每重都占有大量属性名与方法名,中奖机率比六合彩高多了,因此此方案早早出局。
建议:watch的形态改一下?
好了,谢谢