zoukankan      html  css  js  c++  java
  • 迷你MVVM框架 avalonjs 0.7发布

    本版本主要是添加了template绑定与对扫描机制进行大量改良

    template绑定的语法为ms-template-id="aaa", id为页面上的某个元素节点,aaa为ViewModel的一个对象属性。建议将此对象属性的名字标识为不可监控的,即$tmplOpts,因为用户可能用不到此对象,我们就无需立即转换它为子ViewModel。id是一个script标签,其type属性改成浏览器不认识的MIME,比如"xxx/text",然后在script标签间填写内容就行了。里面也可以使用绑定属性。当avalon扫描到带着ms-template属性的元素时,它会根据id取得script标签的innerHTML,然后将它赋给此元素,然后框拐杖再取aaa对象为其绑定内容。

    扫描机制的改良在于,每次都对元素取innerHTML,判定里面有没有ms-或{{}}字样,如果没有我们就不再往下扫描。

    其他改进还有,重构了scanTag的循环, 不再使用nextSibling方式进行遍历,因为这很容易在if绑定中由于我们突然移除元素而中断循环。为此,if绑定也省去几行代码。

    重构了scanAttr,让其更精简。

    重构了removeItemView内部方法,此方法用于监控数组的splice方法,现在移除元素更快了。

    重构了addItemView内部方法,此方法用于监控数组的push方法,现在插入元素更快了。

    机器瞎学/数据掩埋/模式混淆/人工智障/深度遗忘/神经掉线/计算机幻觉/专注单身二十五年
  • 相关阅读:
    性格决定命运
    操作系统课程设计之生产者消费者问题
    Linux 操作系统学习之线程
    OpenCV 显示一幅图片
    对图像每个像素点量化
    css选择器
    极简主义,对逻辑操作符||和&&深度运用的理解
    slice的用法与用量
    简单重置移动端默认样式
    移动端视口格式化备注
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/3098295.html
Copyright © 2011-2022 走看看