2017-09-19 67 views
1

我想使用js-data 3.0.1作爲我的Vue.js 2.4.2 SPA的商店。一切都像魅力一樣,但不幸的是,我無法使被動數據綁定起作用。js-data.io as Vue.js商店

我已經試過vue-js-data,這似乎已經壞了。

以下示例不起作用。如果我更改文本字段,文本將不會更新。但是,如果我用普通的舊JS對象替換js-data記錄,它就像預期的那樣工作。

user.vue

<template> 
    <div> 
    <input name="name" v-model="user.name" /> 
    <br /> 
    Name: {{user.name}} 
    </div> 
</template> 

<script> 
    export default { 
    data() { 
     return { 
     user: this.store.createRecord('user') 
     } 
    } 
    } 
</script> 

我很感激任何建議如何使數據綁定(通過v-model爲例)的工作。

回答

2

如果將此項添加到User類的constructor,它應該適用於所有根級別屬性。在這裏看到一個完整的例子:外的開箱https://gist.github.com/calebroseland/2fa37abdb5560739b3b4b901382b0a90

// apply vue reactivity 
    for (let key in this) { 
    Vue.util.defineReactive(this, key, this[key]) 
    } 

    // re-apply js-data schema 
    this._mapper().schema.apply(this) 

原因Vue公司和JS-數據反應不在一起工作是,它們都具有使用略有不同的機制,獨立的實現。這裏有一個解釋:https://medium.com/p/525ffe12ad81#c925