解析vue中的$mount

下面为你详细讲解解析Vue中的$mount的完整攻略:

1.概述

  • $mount是Vue实例化后挂载到DOM节点的入口函数,用于手动挂载不适用于el选项的情况。
  • 根据不同的使用场景,$mount呈现出不同的表现,如Static Rendering、Client Side Rendering、Server Side Rendering等.
  • 在解析$mount之前,需要先了解Vue的生命周期函数,以及Vue的响应式原理。

2.$mount的语法

  • $mount方法可以接收一个选择器(CSS选择器),也可以接收一个DOM节点。
//接收选择器
let vm = new Vue({
  ...
})
vm.$mount('#app')
//接收DOM节点
let app = document.getElementById('app')
let vm = new Vue({
  ...
})
vm.$mount(app)

3.$mount的使用场景

3.1 静态渲染

  • 当我们通过Vue的template选项进行静态页面渲染时,需要手动使用$mount进行挂载。
<div id='app'></div>
<script>
let vm = new Vue({
  template:'#app',
  data:{
    msg:'hello'
  }
})
vm.$mount('#app')
</script>

3.2 客户端渲染

  • 应用程序部署在客户端上,采用SPA单页应用,通过vue-router路由进行跳转,当路由与当前URL匹配时,挂载组件。
const Home = {
  template: '<div>Home</div>'
}
const Foo = {
  template: '<div>Foo</div>'
}
const routes = {
  '/': Home,
  '/foo': Foo
}
const router = new VueRouter({
  routes
})
new Vue({
  router
}).$mount('#app')

3.3 服务端渲染

  • 服务端渲染的核心是在服务器上直接渲染返回HTML字符串,达到首屏快速渲染。
//服务端渲染代码
const Vue = require('vue')
const server = require('express')()
server.get('*', (req, res) => {
  const app = new Vue({
    data: {
      url: req.url
    },
    template: `<div>访问的URL是:{{ url }}</div>`
  })
  const renderer = require('vue-server-renderer').createRenderer()
  renderer.renderToString(app, (err, html) => {
    if (err) {
      res.status(500).end('Internal Server Error')
      return
    }
    res.end(`
      <!DOCTYPE html>
      <html lang="en">
      <head><title>Hello</title></head>
      <body>${html}</body>
      </html>
    `)
  })
})

//客户端激活代码
const Vue = require('vue')
const app = new Vue({
  template: `<div>访问的URL是:{{ url }}</div>`
})
app.$mount('#app')

以上就是解析Vue中$mount的完整攻略,希望能够对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解析vue中的$mount - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Vue input控件通过value绑定动态属性及修饰符的方法

    Vue input控件通过value绑定动态属性及修饰符的方法一般分为以下几个步骤: 1. 绑定value属性 首先,在input标签上通过v-bind或简写的“:”符号绑定value属性,例如: <input type="text" v-bind:value="message" /> 其中,message…

    Vue 2023年5月27日
    00
  • 详解Vue 2中的 initState 状态初始化

    下面就为您详解Vue 2中的initState状态初始化。 一、initState概述 在Vue应用程序的初始化过程中,首先会执行initState函数,该函数主要用于初始化组件的状态。该函数会将props, methods, data, computed, watch等属性放在vm实例上,并且调用initProps、initMethods、initData…

    Vue 2023年5月28日
    00
  • vue组件暴露和.js文件暴露接口操作

    Vue组件暴露 在 Vue 的开发过程中,封装组件是必不可少的一项技能。将组件封装后,我们通常需要将组件暴露出来,使得其他地方可以引用使用。下面是Vue组件暴露的完整攻略: 1. 全局组件 在Vue中,我们可以使用Vue.component()方法来注册全局组件。这样注册后,整个应用的任何组件都可以使用这个组件。 // 定义全局组件 Vue.componen…

    Vue 2023年5月28日
    00
  • Vue2 响应式系统之异步队列

    当我们修改 Vue 实例数据时,Vue 会根据监听的数据属性触发响应式更新。Vue 2.x 的响应式系统包含依赖追踪和异步队列两个部分,其中异步队列主要负责缓存数据变更并批量更新 DOM,以最小代价更新视图。具体来说,异步队列可以将同一事件循环中的数据变更缓存起来,避免了对于同一数据进行多次 DOM 更新,降低了性能消耗。而且通过微任务让 DOM 更新在下一…

    Vue 2023年5月29日
    00
  • Vue监听一个数组id是否与另一个数组id相同的方法

    要监听一个数组中对象的属性,需要用到 Vue 中提供的 $watch 或 $watchCollection 方法。具体实现步骤如下: 在数据中定义两个数组,分别为 idArray 和 targetArray,如下代码所示: data() { return { idArray: [1, 2, 3], targetArray: [{id: 1, name: ‘T…

    Vue 2023年5月29日
    00
  • 浅谈基于Vue.js的移动组件库cube-ui

    浅谈基于Vue.js的移动组件库cube-ui 介绍 cube-ui是一个基于 Vue.js 的移动端组件库。它提供了很多常用的移动端 UI 组件,可以快速构建高质量的移动应用。cube-ui 在使用上都使用单文件组件,非常适合 Vue.js 开发者。它是由滴滴出行开源的。 安装 先使用npm安装vue-cli,再使用vue-cli构建项目 $ npm in…

    Vue 2023年5月28日
    00
  • Element UI框架中巧用树选择器的实现

    一、Element UI框架中巧用树选择器的实现 Element UI是一个基于Vue.js的开源组件库,提供了丰富、实用的UI组件,其中树选择器是常用的组件之一。本文将介绍如何巧用树选择器实现多级联动菜单的效果。 二、树选择器的基本用法 在Element UI中,要使用树选择器需要引入以下组件: <template> <el-tree :…

    Vue 2023年5月27日
    00
  • Vue2中使用axios的3种方法实例总结

    当使用Vue2构建前端应用时,通常需要从后端获取数据。Axios是一个流行的JavaScript库,可用于发送HTTP请求和处理响应。在Vue2中,可以使用Axios来轻松地获取数据。下面是三种方法来在Vue2中使用Axios的总结: 方法一:以Vue原型的方式调用Axios 在main.js文件中引入Axios,然后将其设置为Vue的原型属性。这样一来,在…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部