代码拉取完成,页面将自动刷新
同步操作将从 魔法编码者X/domdata 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
datajs 只关心如何获取/修改页面数据,没提供其它过多的功能,自然学起来简单,用起来问题少。
不支持 IE8 及其更早的版本
datajs 没依赖第三方库,只要在 HTML 的 <script>
标签中引用它:
<head>
<script src="data.js"></script>
</head>
比如有这么一段 HTML 代码
<!-- 姓名输入框 -->
<input data-name="user.name" type="text" />
<!-- 年龄输入框 -->
<input data-name="user.age" type="text" />
标签中的 data-name 属性相当于变量名,是 data.js 获取/修改页面数据的标识符。
/**
* 获取/设置单个页面数据
*/
// 修改变量名是 "user.name" 的页面数据
_('user.name', '小强');
// 获取变量名是 "user.name" 的页面数据
_('user.name'); => "小强"
/**
* 获取/设置多个页面数据
*/
// 修改变量名是 "user." 开头的页面数据
_('user.*', {'user.name': '小强', 'user.age': 11});
// 获取变量名是 "user." 开头的页面数据
_('user.*'); => {"user.name": "小强", "user.age": "11"}
// 修改变量名是 "user.name"、"user.age" 的页面数据
_(['user.name', 'user.age'], {'user.name': '小强', 'user.age': 11});
// 获取变量名是 "user.name"、"user.age" 的页面数据
_(['user.name', 'user.age']); => {"user.name": "小强", "user.age": "11"}
// 修改所有的页面数据
_('*', {'user.name': '小强', 'user.age': 11});
// 获取所有的页面数据
_('*'); => {"user.name": "小强", "user.age": "11"}
// 修改指定的页面数据,没指定值的页面数据不变
_('user.*', {'user.name': '小强'});
// 修改指定的页面数据,没指定值的页面数据清空
_('user.*', {'user.name': '小强'}, null);
// 对象的每个属性名加上前缀 "user."
var user = _.prefix({name: '小强', age: 11}, 'user.');
alert(JSON.stringify(user)); => {"user.name":"小强","user.age":11}
// 对象的每个属性名去掉前缀 "user."
var user = _.unprefix({"user.name":"小强","user.age":11}, 'user.');
alert(JSON.stringify(user)); => {"name":"小强","age":11}
比如有这么一个 HTML 标签,其中 data-type 属性相当于变量类型
<input data-name="user.age" data-type="number" type="text" />
注册自定义类型的处理方法
// "_" 是 "$$data" 的别名,$$data.plugins 是自定义类型的地方,
// 上面标签的 "data-type" 属性值是 "number", 那么获取/设置
// 这个标签的值,就会调用 $$data.plugins['number'] 中对应的方法,若没有
// 找到对应的方法,会抛出异常。
$$data.plugins['number'] = {
getValue: function(element) {
return Number(element.value);
},
setValue: function(element, value) {
element.value = value;
}
}
// 这时候获取到的返回值的类型是数字
_('user.age'); => 23
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。