Vue el 挂载点
Vue 实例中 el 属性,提供一个页面上已经存在的 DOM 元素,作为 Vue 实例的挂载目标。
1. el 取值
el 取值类型为 string | Element。它既可以是 CSS 选择器,也可以是一个 HTMLElement 实例。
1)使用 CSS id 选择器
以下范例中,DOM 树中有一个 id 为 app 元素,我们可以使用 # 选择器挂载。
<html> <body> <div id="app"> <p>{{ message }}</p> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var app = new Vue({ el:'#app', data:{ message:'Hello,World!' } }) </script> </body> </html>
2)使用 CSS class 选择器
以下范例中,DOM 树中有一个 class 为 app 元素,我们可以使用 . 选择器挂载。
<html> <body> <div class="app"> <p>{{ message }}</p> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var app = new Vue({ el:'.app', data:{ message:'Hello,World!' } }) </script> </body> </html>
3)使用 CSS 标签选择器
以下范例中,DOM 树中有一个 div 为 app 元素,我们可以使用 div 标签选择器挂载。
<html> <body> <div> <p>{{ message }}</p> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var app = new Vue({ el:'div', data:{ message:'Hello,World!' } }) </script> </body> </html>
以上三种选择器的运行的结果是相同。
el 提供的元素只能作为挂载点,不推荐挂载 root 实例到 <html> 或者 <body> 上。
2. el 生效
设置 el 值,只在用 new 创建实例时生效。如果在实例化时存在这个选项,实例将立即进入编译过程,否则,需要显式调用 vm.$mount() 手动开启编译。在实例挂载之后,元素可以用 vm.$el 访问。
以下使用了两种设置方式,运行的效果是一致的。
1)创建实例时设置 el 值
<script> var app = new Vue({ el:'#app', data:{ message:'Hello,World!' } }) </script>
2)使用 $mount() 函数
<script> var app = new Vue({ data:{ message:'Hello,World!' } }); app.$mount("#app") </script>
3. Vue 视频教程
视频地址:https://www.bilibili.com/video/BV12J411m7MG?p=4&share_source=copy_web
我们在创建 Vue 实例的时候,除了指定挂载点 el 外,还指定了一个属性 data,用来存储 Vue 实例中使用的数据。1. data 属性的语法:data 属性两种写法:data作为对象 和 data作为函数。1) data 作为对象的语法:data: { message: '通过data对象获取 message 值'}