784
784
}
785
785
}
786
786
} ;
787
- function updateViewModel ( a , b , isArray ) {
787
+ function updateViewModel ( a , b , isArray , c ) {
788
788
if ( isArray ) {
789
789
var an = a . length ,
790
790
bn = b . length ;
801
801
for ( var i in b ) {
802
802
if ( b . hasOwnProperty ( i ) && a . hasOwnProperty ( i ) && i !== "$id" ) {
803
803
a [ i ] = b [ i ] ;
804
+ c [ i ] = b [ i ] ;
804
805
}
805
806
}
806
807
}
1475
1476
} ,
1476
1477
//控制元素显示或隐藏
1477
1478
"visible" : function ( data , scopes ) {
1478
- watchView ( data . value , scopes , data , function ( val , elem ) {
1479
- elem . style . display = val ? parseDisplay ( elem . tagName ) : "none" ;
1479
+ var elem = data . element ;
1480
+ var display = avalon ( elem ) . css ( "display" ) ;
1481
+ display = display === "none" ? parseDisplay ( elem . tagName ) : display ;
1482
+ watchView ( data . value , scopes , data , function ( val ) {
1483
+ elem . style . display = val ? display : "none" ;
1480
1484
} ) ;
1481
1485
} ,
1482
1486
//这是一个字符串属性绑定的范本, 方便你在title, alt, src, href添加插值表达式
1858
1862
"sort,reverse" . replace ( rword , function ( method ) {
1859
1863
collection [ method ] = function ( ) {
1860
1864
var ret = list [ method ] . apply ( list , arguments ) ;
1861
- for ( var i = 0 , n = list . length ; i < n ; i ++ ) {
1862
- var el = list [ i ] ;
1863
- collection . set ( i , el ) ;
1865
+ for ( var i = 0 ; i < ret . length ; i ++ ) {
1866
+ var el = ret [ i ] ;
1864
1867
}
1865
- // ret.forEach(function(el, i) {
1866
- // collection.set(i, el);
1867
- //});
1868
1868
return this ;
1869
1869
} ;
1870
1870
} ) ;
1898
1898
if ( val . $json ) {
1899
1899
val = val . $json ;
1900
1900
}
1901
- updateViewModel ( this [ index ] , val , Array . isArray ( val ) ) ;
1901
+ updateViewModel ( this [ index ] , val , Array . isArray ( val ) , list [ index ] ) ;
1902
1902
} else if ( this [ index ] !== val ) {
1903
1903
this [ index ] = val ;
1904
+
1904
1905
model && model . $fire ( prop + ".changed" ) ;
1905
1906
notifySubscribers ( this , "set" , arguments ) ;
1906
1907
}
2435
2436
//2013.5.22 0.6.3 fix getValueFunction bug; fix avalon.bind return false bug;fix ms-css bug
2436
2437
//2013.5.25 0.7 添加template绑定, 优化渲染速度,插入与移除节点的操作
2437
2438
//2013 6 2 3群月王 ms-visible bug
2438
- //黄轩http://www.cnblogs.com/lcllao/archive/2012/09/30/2709187.html
2439
+ //黄轩http://www.cnblogs.com/lcllao/archive/2012/09/30/2709187.html
0 commit comments