一款轻量级前端框架Avalon.Js
2024-09-22
18
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>
这里面涉及一些知识点
- vm,使用avalon.define方法生成,必须带$id属性
- 指令,以ms-开头的属性及双花括号的插值表达式
- 圈定作用域,使用ms-controller告诉框架,只处理这个范围内的标签
- 引导符,使用
@
或##
来告诉框架这些变量是来自vm的 - 自动扫描机制
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 选择器必须放在表达值的后端</p></body>
赞一波!
相关文章
- 10个技巧优化PHP程序Laravel 5框架
- JS 的 apply 方法
- JS 字符串和数组相互转换
- JS 数组去重的多种方法
- JS 函数中的 arguments 类数组对象
- 介绍Js简单的递归排列组合
- Node.js 软件包管理工具 (npm)
- JS 性能优化之防抖
- JS 性能优化之节流
- JS 数组方法 every 和 some 的区别
- JS 正则表达式常用方法
- JS 数组详解【编程笔记】
- JS 中的 ?. 和 ??
- TP6.0 框架的下载,优秀扩展包推荐
- js判断浏览器类型
- JS ES6 模块化开发入门
- 微擎TP6.0框架 微擎版、独立版 路由通用生成方法
- 常用js图表插件推荐
- .Net开源框架列表
- 定时调度框架系列之Quartz.Net详解
文章评论
评论问答