zoukankan      html  css  js  c++  java
  • 一款轻量级前端框架Avalon.Js

        avalon2是一款基于虚拟DOM与属性劫持的 迷你、 易用、 高性能 的 前端MVVM框架, 拥有超优秀的兼容性, 支持移动开发, 后端渲染, WEB Component式组件开发, 无需编译, 开箱即用。上一个简单的入门例子:

    <!DOCTYPE html>
    <html>
        <head>
            <title>first example</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <script src="./dist/avalon.js"></script>
            <script>
                var vm = avalon.define({
                    $id: "test",
                    name: "测试",
                    array: [11,22,33]
                })
                setTimeout(function(){
                   vm.array.set(0, 444)
                }, 3000)
            </script>
        </head>
    
        <body ms-controller="test">
            <input ms-duplex="@name">
            <p>Hello,{{@name}}!</p>
            <ul>
               <li ms-for="($index,el) in @array">{{$index}}--{{el}}</li>
            </ul>
        </body>
    </html>

    这里面涉及一些知识点

    1. vm,使用avalon.define方法生成,必须带$id属性
    2. 指令,以ms-开头的属性及双花括号的插值表达式
    3. 圈定作用域,使用ms-controller告诉框架,只处理这个范围内的标签
    4. 引导符,使用@##来告诉框架这些变量是来自vm的
    5. 自动扫描机制

    define

    创建一个vm对象,必须指定$id

    avalon.define({
      $id: 'aaa',
      bbb: 1
    })

    插值表达式

    位于文本节点中的双重花括号,当然这个可以配置.此指令其中文本ms-text指令的简单形式.

    <body ms-controller="test">
        <script>
            avalon.define({
                $id: 'test',
                aaa: 'aaa',
                bbb: 'bbb'
            })
    
        </script>
        <p>{{@aaa}}{{@bbb}} 这个性能差些</p>
        <p>{{@aaa+@bbb}} 这个性能好些</p>
        <p>{{@aaa+@bbb  | uppercase}} 选择器必须放在表达值的后端</p>
    </body>
  • 相关阅读:
    pycharm中使用redis模块入门
    ubuntu sudo apt-get update与sudo apt-get upgrade的作用及区别,以及python pip的安装
    pycharm修改快捷键
    python2.7.5安装docker-compose的方法
    (二)影响持续交付的因素
    (一)持续交付的定义与价值
    CentOS6的/etc/rc.local不执行的问题解决
    Redis集群进阶之路
    好文收集(长期更新)
    MongoDB如何释放空闲空间?
  • 原文地址:https://www.cnblogs.com/benpao/p/7425841.html
Copyright © 2011-2022 走看看