我是Vuejs的新用户,对不起,这是一个新手问题。
我已在我的App中添加了一个路由器,我想将主App中的数据渲染到我的Components模板中,但是它不起作用。
这就是我所拥有的:
Vue.use(VueRouter);
const Text = { props: ['text'], template: '<div>This is the text: {{text}} </div>' }
const routes = [
{ path: '*', component: Text, props: true }
]
const router = new VueRouter({
routes: routes
})
new Vue({
router: router,
el: "#app",
data: {
text: "Hello there!"
}
})
我曾期望text
道具可以链接到我的App.data.text
,但它没有发生。
这是一个jsfiddle:https://jsfiddle.net/fguillen/psqztn93
答案 0 :(得分:1)
您可能希望通过router-view转发道具(此处将text
传递到渲染的组件Text
)
<router-view :text="text"></router-view>
答案 1 :(得分:1)
const Text = {
props: ["text"],
template: "<div>This is the text: {{text}} </div>"
};
const routes = [{ path: "*", component: Text }];
const router = new VueRouter({
routes: routes
});
new Vue({
router: router,
el: "#app",
data: {
text: "Hello there!"
}
});
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-router@3.1.3/dist/vue-router.js"></script>
<div id="app">
<router-view :text="text"></router-view>
</div>