2017-09-08 58 views
0

我试着去改变propData传递到一个组件来监视和检查组件。Vuejs测试 - 阿瓦 - 改变propData

进出口期待在这个代码块中的最后一个控制台日志为5,但它仍然2.

import Vue from 'vue'; 
import test from 'ava'; 

import AnimateNumber from './../src/components/AnimateNumber.vue'; 

function instance(propsData) { 
    let N = Vue.extend(AnimateNumber); 
    return new N({propsData}); 
} 

test('..', t => { 

    let vm2 = new Vue({ 
     data: { 
      a: 2 
     } 
    }); 

    let vm = instance({number: vm2.a}).$mount(); 

    // vm.displayNumber is just a copy of the number prop passed in. 
    console.log(vm.displayNumber); // 2 

    // Set to 5 
    Vue.set(vm2, 'a', 5); 

    console.log(vm2.a); // 5 

    Vue.nextTick(function() { 
     console.log(vm.displayNumber); // 2 (Expected 5) 
    }); 

}); 
+1

为什么当你在'vm2'上只设置5时,你会期望5出'vm'? –

+0

由于vm2.a作为vm的支持传入。所有我试图做的是改变传入组件的propData,并确保组件内部数据已经改变。 –

+0

有一个存储库的地方? –

回答

0

我会用汽油在这种情况下,测试VUE JS组件https://github.com/MGMonge/petrol

您的测试将是

+0

感谢您的建议,但我仍然想解决为什么我没有按预期工作。 –