avalon数组特性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了avalon数组特性相关的知识,希望对你有一定的参考价值。

  avalon是国内大神开发出来的mvvm框架,相比angular更加轻亮。一开始因为项目原因,avalon是我除了jQuery之后接触的第一个框架,自然感情深厚。但是我也踩了许多avalon的坑,以此记录,不要再踩。

  首先我想说一下我在avalon数组里踩的一些坑。

  一般我们往数组里面添加新元素时,会使用push方法,然而此方法对avalon无效,看下列代码:

var vm = avalon.define({
$id:‘test‘,
arr:[]
});
setTimeout(function(){
vm.arr = [1,2,3,4,5];
console.log(vm.arr)
},1000);
setTimeout(function(){
vm.arr.push = 6;
console.log(vm.arr[5])
},2000)

  2秒后输出undefined,证明avalon添加数组不能使用push方法。查看官方文档,可以看到avalon有自己的数组方法,其中添加新元素的方法是avalon.Array.ensure



var vm = avalon.define({
$id:‘test‘,
arr:[]
});
setTimeout(function(){
vm.arr = [1,2,3,4,5];
console.log(vm.arr)
},1000);
setTimeout(function(){
avalon.Array.ensure(vm.arr,6);
console.log(vm.arr[5])
},2000)
 
 

输出6,说明可行。

以上是关于avalon数组特性的主要内容,如果未能解决你的问题,请参考以下文章

Avalon二数据填充

avalon子孙元素属性监听

avalon教程-简介

avalon自定义指令 图片缓存

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法