使用铆钉访问数组索引.js
Accessing array index with Rivets.js
我想知道为什么访问绑定在铆钉中的数组的索引.js与 . 运算符而不是带有 [] 的标准访问方式。
例如
假设我们绑定
var binding = {name: "binding", arr: [0,1,2]}
rivets.bind(document, {binding: binding});
那么在我们的 HTML 中,如果我们这样做,它将不起作用
<span> {binding.arr[0]}</span>
但如果我们这样做
<span> {binding.arr.0}</span>
已成功访问数组的第 0 个元素。
这种行为在铆钉中的什么地方记录?这是在模板引擎中访问数组元素的标准方法吗?我在任何地方都找不到它,这真的很困扰我。
<span> {binding.arr.0}</span>
工作,因为数组是对象。因此,它的工作方式与其他对象使用 .
运算符的方式相同(返回 obj[key]
)。
理想情况下,在使用数组时,您应该使用 rv-each
.
出于某种原因,如果您必须访问特定索引处的项目,并且对看起来令人困惑或不可读<span> {binding.arr.0}</span>
感到不舒服,我建议您按照以下方式创建一个格式化程序:
rivets.formatters.itemat = function(value,index){
if(!(value && value instanceof Array))
return null; // throw some error if required
return value[index || 0];
}
可以像这样使用
<span> {binding.arr | itemat 0}</span>
相关文章:
- 按最大值获取数组索引
- 删除和重用数组索引
- 警报数组索引和值
- .fadeIn .fadeOut 会导致数组索引出现奇怪的行为
- Javascript原型通用Enquries和通过数组索引分配Id
- 获取数组索引的值
- Javascript-将值与关联数组索引进行比较
- Javascript-在数组索引中循环的问题
- JavaScript - “规范化”数组索引
- 数组索引混淆
- 使用 Javascript/React.js 查找对象的数组索引
- 如何拆分数组索引
- 获取新推送元素的数组索引
- 在 javascript 中将数组索引作为参数传递
- 当对象本身存储在 JavaScript 的数组索引中时,如何打印对象的每个单独属性
- 如何使用数组索引序列
- ASP.NET/JavaScript:数组索引溢出:实体框架/LINQ
- 如何在分配给数组索引的对象上调用方法
- 使用铆钉访问数组索引.js
- 计算 Javascript 数组索引的出现次数