@@ -14,6 +14,7 @@ var Emitter = require('./emitter'),
1414 makeHash = utils . hash ,
1515 extend = utils . extend ,
1616 hasOwn = ( { } ) . hasOwnProperty ,
17+ def = Object . defineProperty ,
1718
1819 // hooks to register
1920 hooks = [
@@ -321,7 +322,7 @@ CompilerProto.observeData = function (data) {
321322 $dataBinding . update ( data )
322323
323324 // allow $data to be swapped
324- Object . defineProperty ( compiler . vm , '$data' , {
325+ def ( compiler . vm , '$data' , {
325326 get : function ( ) {
326327 compiler . observer . emit ( 'get' , '$data' )
327328 return compiler . data
@@ -645,7 +646,7 @@ CompilerProto.defineProp = function (key, binding) {
645646
646647 binding . value = data [ key ]
647648
648- Object . defineProperty ( compiler . vm , key , {
649+ def ( compiler . vm , key , {
649650 get : function ( ) {
650651 return compiler . data [ key ]
651652 } ,
@@ -664,7 +665,7 @@ CompilerProto.defineMeta = function (key, binding) {
664665 var ob = this . observer
665666 binding . value = this . data [ key ]
666667 delete this . data [ key ]
667- Object . defineProperty ( this . vm , key , {
668+ def ( this . vm , key , {
668669 get : function ( ) {
669670 if ( Observer . shouldGet ) ob . emit ( 'get' , key )
670671 return binding . value
@@ -696,7 +697,7 @@ CompilerProto.defineExp = function (key, binding, directive) {
696697 */
697698CompilerProto . defineComputed = function ( key , binding , value ) {
698699 this . markComputed ( binding , value )
699- Object . defineProperty ( this . vm , key , {
700+ def ( this . vm , key , {
700701 get : binding . value . $get ,
701702 set : binding . value . $set
702703 } )
0 commit comments