码迷,mamicode.com
首页 > 编程语言 > 详细

avalon数组特性(二)

时间:2017-01-20 07:25:19      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:blog   move   添加   监听   out   define   控制台   特性   on()   

  上一篇,讲了avalon数组的元素添加方法,这一篇讲avalon的数组监听。

  avalon有一个监听变化的方法,即$watch。这个方法可以监听avalon属性发生的变化,监听到变化后会触发定义的方法。avalon数组被监听时有一个问题:只能监听数组长度的变化,数组元素的修改无法被监听。如下例:


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

  控制台会输出三次:数组改动了,说明数组的创建,元素的添加和删除都会被监听,下面再看看另外一种情况:


var vm = avalon.define({
$id:‘test‘,
arr:[]
});
setTimeout(function(){
vm.arr = [1,2,3,4,5];
},1000);
setTimeout(function(){
vm.arr[0]=0;
},2000);
vm.$watch(‘arr‘,function(){
console.log(‘数组改动了‘)
})
 

  arr成功修改下标为0的元素,然而控制台只输出一次:数组改动了,说明avalon的$watch只能监听数组长度变化,无法监听数组个别元素被修改的情况。

  后来通过进一步的学习发现还是有办法对avalon的数组元素进行监听的,但是好困,明天再说^_^

avalon数组特性(二)

标签:blog   move   添加   监听   out   define   控制台   特性   on()   

原文地址:http://www.cnblogs.com/carol1994/p/6316076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!