@@ -63,15 +63,21 @@ export default {
63
63
this . _subsAutorun = { }
64
64
this . _subs = { }
65
65
66
- Object . defineProperty ( this , '$subReady' , {
67
- get : ( ) => this . $data . $meteor . subs ,
68
- enumerable : true ,
69
- configurable : true ,
70
- } )
66
+ // First launch
67
+ if ( this . _meteorLaunch == null ) {
68
+ this . _meteorLaunch = 0
69
+
70
+ Object . defineProperty ( this , '$subReady' , {
71
+ get : ( ) => this . $data . $meteor . subs ,
72
+ enumerable : true ,
73
+ configurable : true ,
74
+ } )
75
+ }
71
76
}
72
77
73
78
function launch ( ) {
74
79
this . _meteorActive = true
80
+ this . _meteorLaunch ++
75
81
76
82
let meteor = this . $options . meteor
77
83
@@ -210,6 +216,7 @@ export default {
210
216
211
217
$startMeteor ( ) {
212
218
if ( ! this . _meteorActive ) {
219
+ prepare . call ( this )
213
220
launch . call ( this )
214
221
}
215
222
} ,
@@ -220,7 +227,7 @@ export default {
220
227
try {
221
228
tracker . stop ( )
222
229
} catch ( e ) {
223
- console . error ( e , tracker )
230
+ if ( Meteor . isDevelopment ) console . error ( e , tracker )
224
231
}
225
232
} )
226
233
this . _trackerHandles = null
@@ -234,7 +241,7 @@ export default {
234
241
throw Error ( `Meteor data '${ key } ': You must provide a function which returns the result.` )
235
242
}
236
243
237
- if ( hasProperty ( this . $data , key ) || hasProperty ( this . $props , key ) || hasProperty ( this , key ) ) {
244
+ if ( hasProperty ( this . $data , key ) || hasProperty ( this . $props , key ) || ( hasProperty ( this , key ) && this . _meteorLaunch === 1 ) ) {
238
245
throw Error ( `Meteor data '${ key } ': Property already used in the component data, props or other.` )
239
246
}
240
247
0 commit comments