基于官方示例Custom Input Component示例:
HTML:
<div id="app" >
<div :class="{'has-value' : hasValue}">
<input type="text"
ref="input"
v-bind:value="value"
@input="onInput" >
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
new Vue({
el: '#app',
data: function() {
return {
hasValue: false
}
},
props: ['value'],
methods:{
onInput: function(){
val= this.$refs.input.value
if(val && val.length > 0){
this.hasValue = true
} else {
this.hasValue = false
}
}
}
})
Run Code Online (Sandbox Code Playgroud)
JS小提琴演奏
预期:
动态设置hasValue输入数据并将Css类绑定到此数据
意外: 只有在初始化并键入第一个字符后,才会从输入中删除键入的字符.按JS-Fiddle-> Run再次查看.
在第一个字符后,一切都按预期工作
如果我删除v-bind:value="value"或评论\\this.hasValue = true它按预期工作.对于自定义输入组件,建议使用绑定值prop.
这是为了什么?为什么?或者这是我应该报告的错误?