11/*
2- Vue.js v0.10.1
2+ Vue.js v0.10.2
33 (c) 2014 Evan You
44 License: MIT
55*/
@@ -1658,7 +1658,7 @@ CompilerProto.getOption = function (type, id, silent) {
16581658 ? parent . getOption ( type , id , silent )
16591659 : globalAssets [ type ] && globalAssets [ type ] [ id ]
16601660 )
1661- if ( ! res && ! silent ) {
1661+ if ( ! res && ! silent && typeof id === 'string' ) {
16621662 utils . warn ( 'Unknown ' + type . slice ( 0 , - 1 ) + ': ' + id )
16631663 }
16641664 return res
@@ -3831,7 +3831,6 @@ module.exports = {
38313831 ctn . insertBefore ( this . ref , el )
38323832 ctn . removeChild ( el )
38333833
3834- this . initiated = false
38353834 this . collection = null
38363835 this . vms = null
38373836
@@ -3847,13 +3846,6 @@ module.exports = {
38473846 }
38483847 }
38493848
3850- // if initiating with an empty collection, we need to
3851- // force a compile so that we get all the bindings for
3852- // dependency extraction.
3853- if ( ! this . initiated && ( ! collection || ! collection . length ) ) {
3854- this . dryBuild ( )
3855- }
3856-
38573849 // keep reference of old data and VMs
38583850 // so we can reuse them if possible
38593851 this . oldVMs = this . vms
@@ -3871,24 +3863,6 @@ module.exports = {
38713863
38723864 } ,
38733865
3874- /**
3875- * Run a dry build just to collect bindings
3876- */
3877- dryBuild : function ( ) {
3878- var el = this . el . cloneNode ( true ) ,
3879- Ctor = this . compiler . resolveComponent ( el )
3880- new Ctor ( {
3881- el : el ,
3882- parent : this . vm ,
3883- data : { $index : 0 } ,
3884- compilerOptions : {
3885- repeat : true ,
3886- expCache : this . expCache
3887- }
3888- } ) . $destroy ( )
3889- this . initiated = true
3890- } ,
3891-
38923866 init : function ( collection , isObject ) {
38933867 var vm , vms = [ ]
38943868 for ( var i = 0 , l = collection . length ; i < l ; i ++ ) {
@@ -3949,7 +3923,9 @@ module.exports = {
39493923 // second pass, collect old reused and destroy unused
39503924 for ( i = 0 , l = oldVMs . length ; i < l ; i ++ ) {
39513925 vm = oldVMs [ i ]
3952- item = vm . $data
3926+ item = this . arg
3927+ ? vm . $data [ this . arg ]
3928+ : vm . $data
39533929 if ( item . $reused ) {
39543930 vm . $reused = true
39553931 delete item . $reused
@@ -3964,7 +3940,9 @@ module.exports = {
39643940 vms [ vm . $index ] = vm
39653941 } else {
39663942 // this one can be destroyed.
3967- delete item . __emitter__ [ this . identifier ]
3943+ if ( item . __emitter__ ) {
3944+ delete item . __emitter__ [ this . identifier ]
3945+ }
39683946 vm . $destroy ( )
39693947 }
39703948 }
@@ -4035,8 +4013,10 @@ module.exports = {
40354013 }
40364014 } )
40374015
4038- // attach an ienumerable identifier
4039- data . __emitter__ [ this . identifier ] = true
4016+ if ( isObject ) {
4017+ // attach an ienumerable identifier to the raw data
4018+ ( raw || data ) . __emitter__ [ this . identifier ] = true
4019+ }
40404020
40414021 if ( wrap ) {
40424022 var self = this ,
0 commit comments