2017-02-10 53 views
1

所以我有一个多个代码是这样的:物业突变Vuejs

<input id="data" type="text" v-model="data"> 
<label for="data">Data</label> 

我试图做一个地产出它,这样我就不会每次都重复一遍:

Vue.component('textbox', { 
    template: ` 
    <div> 
    <input :id="id" type="text" v-model="value"> 
    <label :for="id">{{ label }}</label> 
    </div> 
    `, 
    props: [ 
     "id", "value", "label", "for"], 
    watch: { 
    value: function(newVal){ 
     this.$emit('input', newVal) 
    } 
    } 
}) 

和访问它在我的HTML这样的:

<textbox v-model="data" id="someID" label="Data"></textbox> 

一切工作正常,但每次我在文本框中键入时间我在控制台收到此警告:

[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "value" 
(found in component <textbox>) 

有没有办法删除该警告消息?或者我做错了方向?任何帮助将非常感激。

+0

错误本身,而不是说,使用基于道具的数值数据或计算的属性,因此,而不是道具尝试数据或计算道具 –

+0

@VinodLouis你介意给我一个例子吗?老实说我不明白 – FewFlyBy

回答