解析vue中的$mount

yizhihongxing

下面为你详细讲解解析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 h函数的使用详解

    Vue h函数的使用详解 在Vue中,有时候我们需要手动创建一个虚拟节点来渲染成真实的DOM元素。这时候我们就可以使用Vue提供的h函数来创建一个虚拟节点,h函数会根据传入的参数自动创建对应的虚拟节点。 h函数的基本语法 Vue h函数的基本语法如下: h(tag, data?, children?) tag: String | Object data: O…

    Vue 2023年5月27日
    00
  • vue 标签属性数据绑定和拼接的实现方法

    Vue是一个对视图层进行响应式处理的前端框架,其中最常用的功能就是标签属性数据绑定和拼接。下面将提供Vue标签属性数据绑定和拼接的实现方法。 Vue标签属性数据绑定的实现方法 在Vue中,绑定数据到HTML标签属性中非常容易,使用“v-bind”指令就可以了。下面是代码示例: <img v-bind:src="imgUrl">…

    Vue 2023年5月27日
    00
  • vue实现双向数据绑定

    实现双向数据绑定是Vue.js的重要特性之一,也是Vue.js能够快速开发Web应用程序的重要原因。下面是基于Vue.js实现双向数据绑定的完整攻略。 Vue.js实现双向数据绑定的原理 Vue.js中的双向数据绑定,是通过使用数据劫持(Data Observer)和发布-订阅模式(Pub/Sub Pattern)的组合来实现的。 具体来说,Vue.js会对…

    Vue 2023年5月28日
    00
  • vue实现钉钉的考勤日历

    下面是详细讲解“vue实现钉钉的考勤日历”的完整攻略。 1. 需求分析 首先,我们需要明确实现钉钉考勤日历的需求,包括数据展示、日期筛选、数据搜索等功能,然后根据需求选择合适的UI组件和数据处理方式。 2. 数据处理 接下来,我们需要对考勤数据进行处理,包括读取本地文件、筛选数据、统计数据等,并将处理后的数据渲染到页面上。 3. UI组件选择 根据需求,我们…

    Vue 2023年5月28日
    00
  • Vant中List组件immediate-check=false无效的解决

    下面将详细讲解“Vant中List组件immediate-check=false无效的解决”的完整攻略。 问题描述 使用Vant中的List组件时,通过设置immediate-check属性为false,期望不立即校验表单,但实际情况是,无论怎么设置immediate-check属性,表单都会立即被校验。 解决方法 方案一:升级Vant版本 该问题在Vant…

    Vue 2023年5月28日
    00
  • vue跳转同一路由报错的问题及解决

    下面是关于“vue跳转同一路由报错的问题及解决”的完整攻略。 一、问题现象 在Vue开发中,经常会遇到多个块之间跳转的场景。当你在路由表中定义好相应的路由,并且跳转到相同路由时,可能会出现以下两种报错信息: 如果是使用router.push进行路由跳转,报错信息如下: Uncaught (in promise) NavigationDuplicated: A…

    Vue 2023年5月28日
    00
  • vue中如何实现变量和字符串拼接

    在Vue中实现变量和字符串拼接,最常用的方式就是使用插值表达式和模板字符串。 插值表达式 使用双大括号{{}}将变量与字符串拼接起来,如下示例: <template> <div> <p>{{ message }} World!</p> </div> </template> <scr…

    Vue 2023年5月27日
    00
  • vue-devtools的安装与使用教程

    下面是关于vue-devtools的安装与使用教程的详细讲解: 什么是vue-devtools vue-devtools是由Vue.js核心成员开发的浏览器开发者工具,主要用于调试和排查Vue.js应用程序的问题。它可以在浏览器上查看应用程序的组件结构、状态数据以及组件实例层次结构等,提供了丰富的调试工具来帮助你更好地调试Vue.js应用程序。 安装vue-…

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