gpt4 book ai didi

vue.js - 如何在 .vue 组件模板中访问初始应用程序实例的属性?

转载 作者:搜寻专家 更新时间:2023-10-30 22:32:53 26 4
gpt4 key购买 nike

我已经使用 vue-cli 设置了一个新的 Vue 应用程序。我在这个项目中也运行了 vue-loader 和 vue-route。

如何在以下实例中访问属性 events

目前,以下代码会导致以下错误:属性或方法“events”未在实例上定义,但在渲染期间被引用

ma​​in.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'

Vue.config.productionTip = false

new Vue({
router,
store,
render: function(y) {
return y(App)
},
// Data
data: {
events: [
{
name : 'this',
price : 2000
},
{
name : 'that',
price : 3000
},
{
name : 'the-other',
price : 4000
},
]
}
}).$mount('#app')

./App.vue

<template>
<div id="app">
<div id="nav">

<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link>

</div>


<ul>
<li v-for="event in events">
<h2>{{ event.name }}</h2>
<p>{{ event.price }}</p>
</li>
</ul>



<router-view/>
</div>
</template>

最佳答案

你的 events数据仅存在于 main.js但你在 App.vue 中使用它无法访问它。

渲染events您可以传递 events 的数据作为props给你的App组件。

render: function(y) {
return y(App, {
props: {
events: this.events
}
});
}

在你的App.vue

<template>
<div id="app">
<div id="nav">
<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link>

</div>
<ul>
<li v-for="event in events">
<h2>{{ event.name }}</h2>
<p>{{ event.price }}</p>
</li>
</ul>

<router-view/>
</div>
</template>

<script>
export default {
name: 'App',
props: ['events']
}
</script>

关于vue.js - 如何在 .vue 组件模板中访问初始应用程序实例的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54390842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com