我正在学习 vue 教程。下面是对文本区域实现字符限制的函数,
<form action="" class="create-twoot" @submit.prevent="createnewTwoot">
<label for="new-twoot">New Twoot</label>
<p>{{char_limit}}/180</p>
<textarea name="" id="new-twoot" cols="30" rows="4" v-model="newTwootcontent"></textarea>
<br/>
<label for="newTwootType">Twoot Type</label>
<select name="TwootType" id="newTwootType" v-model="twootType">
<option :value="option.name" v-for="(option,index) in twootTypes" :key="index">
{{option.value}}
</option>
</select>
<br/>
<button>Tweet</button>
</form>
JS代码
export default {
name: 'Userprofile',
newTwootcontent: '',
twootType: 'instant',
computed:{
char_limit(){
return this.newTwootcontent.length;
},
fullname(){
return `${this.users.fname} ${this.users.lname}`;
}
},
}
其他一切正常,但此 char_limit
出现以下错误
(我没有发布数据、方法等,因为这些工作正常)
Cannot read property 'length' of undefined
at Proxy.char_limit (Userprofile.vue?5045:102)
谁能告诉我代码有什么问题
答案 0 :(得分:1)
在数据部分定义变量,如
export default {
name: 'Userprofile',
data() {
return {
newTwootcontent: '',
twootType: 'instant',
};
}
computed:{
char_limit(){
return this.newTwootcontent.length;
},
fullname(){
return `${this.users.fname} ${this.users.lname}`;
}
},
}