vue2 中的 el

限制: 在组件定义中只能是函数。

详细:

为实例提供挂载元素。值可以是 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 会被提取出来用作模版

1

2

3

4

5

6

7

8

9

10

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

        <title></title>

    </head>

    <body>

        <div id="ppp"></div>

    </body>

</html>

例:render 函数渲染的 DOM 替换 <div id="ppp"></div>

1

2

3

4

5

6

new Vue({

    el: '#ppp',

    router,

    store,

    render: h => h(App)

})

posted @ 2020-03-24 14:24  DAVENEE  阅读(1382)  评论(0编辑  收藏  举报