我正在玩Vue 2.0,但还有一些不清楚的地方.. 如何将道具传递给组件的内部数据? 看看文档似乎我做得对。
HTML
<lista-servizi :servizi="modello"></lista-servizi>
“modello”是已定义的数据。
VUE COMPONENT
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>
答案 0 :(得分:0)
您应该使用computed
代替。
Vue.component('lista-servizi', {
//...
computed: {
listaServizi() {
return this.servizi
}
}
}
答案 1 :(得分:0)
您很可能遇到 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"
}
}
}
})