[英]Vuejs, how to pass props to a Component rendered by Router?
[英]Vuejs: How to properly pass props to component data
我正在使用Vue 2.0,但是还有一些不清楚的地方。我如何将道具传递到组件的内部数据? 查看文档,看来我做得对。
的HTML
<lista-servizi :servizi="modello"></lista-servizi>
“模型”是已经定义的数据。
VUE组件
Vue.component('lista-servizi', {
template:
'<span class="blu">{{listaServizi.lineaGialla.descrizione}}</span>',
props: ['servizi'],
data: function(){
return{
listaServizi : this.servizi
}
基本上,我尝试为数据listaServizi提供与props servizi相同的值,但是在控制台中,我有以下消息:
[Vue warn]: Error in render function: "TypeError: Cannot read property 'descrizione' of undefined"
found in
---> <ListaServizi>
<Root>
您应该改为使用computed
。
Vue.component('lista-servizi', {
//...
computed: {
listaServizi() {
return this.servizi
}
}
}
您最有可能在modello上遇到问题。 通过定义modello ,您的代码可以正常工作。 下面是一个基于您的代码的示例,该示例有效:
<div id="app-1">
<lista-servizi :servizi="modello"></lista-servizi>
</div>
Vue.component('lista-servizi', {
template: '<span class="blu">{{listaServizi.lineaGialla.descrizione}}</span>',
props: ['servizi'],
data: function(){
return{
listaServizi : this.servizi
}
}
})
var app1 = new Vue({
el: '#app-1',
data: {
modello: {
lineaGialla : {
descrizione : " This is a description"
}
}
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.