如何在Vue中正确使用渲染功能?

时间:2020-07-06 09:28:54

标签: javascript vue.js

我刚刚开始使用render函数,并且遇到了 有一个问题。 渲染时,“主页”组件不会显示应用程序路线 注册于

App.vue

<template>
  <div>
    <h1>Vue Router Demo App</h1>

    <p>
      <router-link :to="{ name: 'home' }">Home</router-link> |
      <router-link :to="{ name: 'hello' }">Hello World</router-link>
    </p>

    <div class="container">
      <router-view></router-view>
    </div>
  </div>
</template>
<script>
  export default {}
</script>

浏览器控制台中没有错误。

app.js

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

import App from './App'
import Hello from './views/Hello'
import Home from './views/Home'




const router = new VueRouter({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home
    },
    {
      path: '/hello',
      name: 'hello',
      component: Hello,
    },
  ],
});

const app = new Vue({
  el: '#app',
  components: { App },
  router,
});

Home.vue

使用此配置,不会显示路由

<script>
export default {}
import Vue from 'vue'

new Vue({
  el: '#app',
  render(createElement) {
    return createElement("div", { class: "container" }, [
      createElement("p", { class: "my-class" }, "Some cool text")
    ])
  }

});
</script>

我只想在组件内部使用render函数。或者了解如何对两个或多个vue组件正确使用render函数。

如何通过在组件之间切换来正确配置应用程序 HomeHello

1 个答案:

答案 0 :(得分:0)

Vue中的组件应该从vue组件继承并注入基本组件中。

Vue.component('home', {
  render(createElement) {
    return createElement("div", { class: "container" }, [
      createElement("p", { class: "my-class" }, "Some cool text")
    ])
  }
})

new Vue({
  el: '#app',
  components: ['home'],
  template: '<home/>'
})
<div id="app"></div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>

相关问题