el
类型: String | htmlElement | Function
限制: 在组件定义中只能是函数.
详细:
为实例提供挂载元素. 值可以是 CSS 选择符, 或实际 HTML 元素, 或返回 HTML 元素的函数. 注意元素只用作挂载点. 如果提供了模板则元素被替换, 除非 replace 为 false. 元素可以用 vm.$el 访问.
用在 vue.extend 中必须是函数值, 这样所有实例不会共享元素.
如果在初始化时指定了这个选项, 实例将立即进入编译过程. 否则, 需要调用 vm.$mount(), 手动开始编译.
提供的元素只能作为挂载点. 不同于 Vue 1.x, 所有的挂载元素会被 Vue 生成的 DOM 替换. 因此不推荐挂载 root 实例到 <HTML> 或者 <body> 上.
如果 render 函数和 template 属性都不存在, 挂载 DOM 元素的 HTML 会被提取出来用作模板, 此时, 必须使用 Runtime + Compiler 构建的 Vue 库.
el 的作用大家都知道, 用于指明 Vue 实例的挂载目标. 我们重点关注上面两个部分, 总结一下就是: 如果存在 render 函数或 template 属性, 则挂载元素会被 Vue 生成的 DOM 替换; 否则, 挂载元素所在的 HTML 会被提取出来用作模版
- <!DOCTYPE HTML>
- <HTML>
- <head>
- <meta charset="utf-8">
- <title>
- </title>
- </head>
- <body>
- <div id="ppp">
- </div>
- </body>
- </HTML>
例: render 函数渲染的 DOM 替换 <div id="ppp"></div>
- new Vue({
- el: '#ppp',
- router,
- store,
- render: h => h(App)
- })
更多 web 前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/vue-js/17504.html