鍍金池/ 問(wèn)答/HTML/ vue computed

vue computed

我這里讓input框的有值時(shí),給button添加一個(gè)class ,但是報(bào)錯(cuò)了

clipboard.png

clipboard.png

回答
編輯回答
小眼睛

個(gè)人覺(jué)得這個(gè)應(yīng)該用v-model來(lái)解決。
報(bào)錯(cuò)的原因 是因?yàn)樵赾omputed解析的時(shí)候$refs還沒(méi)有被創(chuàng)建。$refs是在組件渲染完成之后才填充的 computed解析是在created之前解析的。
也是正在研究vue,如果有錯(cuò)誤 還希望指正
官網(wǎng)的$refs https://cn.vuejs.org/v2/api/#ref

2018年2月18日 00:52
編輯回答
熟稔

官方

$refs 只在組件渲染完成后才填充,并且它是非響應(yīng)式的。它僅僅是一個(gè)直接操作子組件的應(yīng)急方案——應(yīng)當(dāng)避免在模板或計(jì)算屬性中使用 $refs。

直接用v-model不就行啦

//HTML
<input v-model="test" v-bind:class="{testClass:flag}"/>
//js
data: function() {
    return {
        test:"",
    }
},
computed:{
    flag(){
        return this.test?true:false;
    }
}
2017年10月2日 19:15
編輯回答
痞性
<input v-model.trim="username"/>
class="{xxx: username.length>0}"

你別用name試試,是不是這個(gè)key不能用。

2018年7月29日 07:00