目标:Vue 组件输入地址必须位于 Vue 组件邮件编辑器中,并且仅当有人单击“地址簿”按钮时才显示地址列表。当有人单击其中一个显示的邮件或手动填写“收件人”字段时,createdmail.to 必须获取该值,并且必须隐藏地址列表。
Vue 组件邮件编辑器。此组件接收地址列表。(一切都在这里工作,我认为唯一不能正常工作的部分是输入地址标签内的v模型)
Vue.component('mail-composer', {
props: ['addressesbook'],
methods: {
send: function(createmail) {
this.$emit('send', createmail);
}
},
template:
`
<div>
<input-address :addresses="addressesbook" v-model="createmail.to"></input-address>
<p><b>Subject: </b><input type="text" v-model="createmail.subject"></input></p>
<p><b>Body: </b><textarea v-model="createmail.body"></textarea></p>
<button @click="send(createmail)">Send</button>
</div>
`,
data(){
return{
createmail:{
to: '',
subject: '',
body: ''
}
}
}
});
另一个 Vue 组件是这个组件,它位于同一个文件中。(我认为所有问题都在这里)。
只有当有人单击“地址簿”按钮时,我才需要显示地址列表,并且当有人再次单击按钮或列表中的其中一封电子邮件时,我必须将其隐藏。当有人从列表中单击邮件时,邮件编辑器中的 createmail.to 属性必须获取邮件的值,如果我决定手动放置邮件,则必须发生相同的情况。
Vue.component('input-address',{
props:["addresses"],
template:
`
<div>
<label><b>To: </b><input type="text"></input><button @click="!(displayAddressBook)">Address Book</button></label>
<ul v-if="displayAddressBook">
<li v-for="address in addresses">
{{address}}
</li>
</ul>
</div>
`,
data(){
return{
displayAddressBook: false
}
}
})
当年话下
相关分类