zoukankan      html  css  js  c++  java
  • Vue2.0 render:h => h(App)

    首先需要了解这是 es 6 的语法,表示 Vue 实例选项对象的 render 方法作为一个函数,接受传入的参数 h 函数,返回 h(App) 的函数调用结果;

    其次,Vue 在创建 Vue 实例时,通过调用 render 方法来渲染实例的 DOM 树;

    最后,Vue 在调用 render 方法时,会传入一个 createElement 函数作为参数,也就是这里的 h 的实参是 createElement 函数,然后 createElement 会以 APP 为参数进行调用,关于 createElement 函数的参数说明参见:Element-Arguments

    // The Vue build version to load with the `import` command
    // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
    import Vue from 'vue'
    import App from './App'
    import router from './router'
    import ElementUI from 'element-ui'
    import 'element-ui/lib/theme-chalk/index.css'
    import '@/assets/iconfont.css'
    import '@/assets/styles/main.scss'
    
    Vue.config.productionTip = false
    Vue.use(ElementUI)
    
    /* eslint-disable no-new */
    new Vue({
      el: '#app',
      router,
      // template: '<App/>',
      // components: {App}
      render:h => h(App)
    })

    render函数是渲染一个视图,然后提供给el挂载,如果你没有加那么就等于没有视图给el挂载,自然什么都没有了。

    //另外
    {
        render: h => h(App)
    }
    
    //等价于
    {
        render: h => {
            return h(App)
        }
    }
    
    //其实只是简写的方式。
    //如果不涉及使用this的话下面这个也是等价的
    {
        render: function (h) {
            return h(App)
        }
    }

    render 是vue里面实现渲染dom的函数,这句的目的是渲染这个app实例。用App这个模板。

    const app=new Vue({
        el:'#app',
        router,
        compoments:{
            App
        },
        template:"<App/>"
    });
  • 相关阅读:
    ubuntu 16.04 安装 python selenium
    DNS 小问题
    Ubuntu下安装setuptools
    ubuntu16.04LTS更换阿里源
    Ubuntu下安装 Phantomjs
    root和user切换
    Navicat破解安装教程
    urllib2
    MySQL划重点-查询-聚合-分组
    vi编辑器
  • 原文地址:https://www.cnblogs.com/jiahuasir/p/10577810.html
Copyright © 2011-2022 走看看