html引入avalon,avalon中文文档 -ag凯发k8国际
数据缓存(ms-data-*)
jquery的许多功能都可以通过avalon的绑定属性来处理,如click方法对应ms-click,
css方法对应ms-css,toggle方法对应ms-visible,它的数据缓存功能avalon也搬过来了。
但不同于jquery的是,avalon是直接将数据保存到元素节点的html5的data-*属性上。
在从data-*属性还原数据时,它会简单的数据转换,再返回给你。
在ms-data绑定中,考虑到如果将对象转换为字符串再还原会丢失函数什么的,因此它们会直接保存到元素之上。
todo supply a titleavalon.define({
$id: "test",
$skiparray: ["array", "object"],
number: 111,
number2: nan,
bool: false,
bool2: true,
nn: null,
vv: void 0,
array: [1, 2, 3],
date: new date,
object: {
name: "这是数据"
},
show: function() {
var elem = avalon(this)
console.log(
elem.data("number"), elem.data("number2"),
elem.data("bool"), elem.data("bool2"),
elem.data("null"), elem.data("void"),
elem.data("fn"), this["data-array"],
this["data-date"], this["data-object"]
)
}
})
点我这是一个很简单的绑定,没什么好说的,只要记住对象与数组是直接保存在元素节点上就行了。下面是它的源码:
//1.3.8的源码
// bindinghandlers.data 定义在if.js
bindingexecutors.data = function(val, elem, data) {
var key = "data-" data.param
if (val && typeof val === "object") {
elem[key] = val
} else {
elem.setattribute(key, string(val))
}
}
总结
以上是ag凯发k8国际为你收集整理的html引入avalon,avalon中文文档的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 网页 html 全图片排版,html5-
- 下一篇: html中内联的form,bootstr