vue项目案例(Vue实例化)

 2025-08-10 04:57:02  阅读 686  评论 0

摘要:1.创建一个Vue实例通过vue函数创建一个新的vue实例一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及可嵌套的、可复用的组件树组成的。我们先看看Vue基本的使用,至于组件我们后面详细的在来探讨 {{ msg }} // 引入vue后 会白给你一个Vue构造函数 let vm = new Vue({

1.创建一个Vue实例

通过vue函数创建一个新的vue实例

一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及可嵌套的、可复用的组件树组成的。我们先看看Vue基本的使用,至于组件我们后面详细的在来探讨

{{ msg }}

2.声明式渲染

Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统:

2.1. 关于{{}} 插值表达式

插值表达式,表达式,赋值运算,计算,三元表达式,但是尽量少在这里写逻辑计算

插值:


{{ message }}

我们已经成功创建了第一个 Vue 应用!看起来这跟渲染一个字符串模板非常类似,但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被建立了关联,所有东西都是响应式的。我们要怎么确认呢?

如果需要确定现在的数据是否已经和DOM建立了关联,形成响应式.

可以将js中的new Vue 复制给一个全局变量vm.此时vm就是Vue实例化对象,未来可能会用它来搞很多事情,但是最常用到它的时候,是通过this关键字来使用它

var vm = new Vue({
        el: '#app',
        data: {
            messgae: 'hello Vue!'
        }
    })

然后在浏览器的js控制台中修改vm.message值,同时页面也会发生改变在控制台中输入

vm.messge = "你好,Vue"

2.2.使用 JavaScript 表达式

迄今为止,在我们的模板中,我们一直都只绑定简单的属性键值。但实际上,对于所有的数据绑定,Vue.js 都提供了完全的 JavaScript 表达式支持。

{{ number + 1 }}

{{ ok ?from=pc"'list-' + id">

这些表达式会在所属 Vue 实例的数据作用域下作为 JavaScript 被解析。

示例:

{{ number + 2 }}

{{ ok ? 'YES' : 'NO' }}

{{ message.split('').reverse().join('') }}

显示结果:

但是有个限制就是,每个绑定双大括号(Mustache语法)里面都只能包含单个表达式

2.3. 关于data数据

vue关注的是数据变化,不需要在像以前一样关注DOM的变化

比如我想在2秒之后让页面发生变化,我们只需要在2秒后更改数据就可以了

var vm = new Vue({
  el:'#app',
  data:{
    msg:'hello world'
  }
})

setTimeout(function(){
  vm.$data.msg = "bye world"
},2000)

关于实例介绍:

示例中vm是Vue的实例对象,实例对象上有$data属性,其值就是选项对象中data属性值选项对象就是在实例化Vue时传入的对象data属性值是一个对象,因此$data也就是这个对象当通过$data修改msg的值时,也就等于改data中的值, 对应是引用类型

因此示例的结果就是:

2秒后data数据中msg的值改变了, 又因为Vue是始终在关注着msg这个数据,一旦数据发生变化,就会触发Vue的响应式, 继而改变视图显示

2.4 再次理解MVVM模式

在上一节讲Vue的 mvvm模式的时候就有提到,Vue实例对象就是vm, data数据就是model, 页面显示的结果就是view

再来看一下mvvm的图

mvvm.jpg

这张图在配合刚才的示例, 我们就能很好的理解,当数据Model发生变化以后, Vue就可以通过Data Bindings了解到,然后使用新的数据去改变页面显示

至于Vue如何通过DOM Listeners监听页面的改变,来改变数据,这个我们之后讲到在说

3.实例上的方法

除了数据属性,Vue 选项对象中还暴露了一些有用的属性与方法。在通过实例对象使用选项对象的属性时,属性前面都需要带上前缀 $,以便与用户定义的属性区分开来。例如:

var data = { a: 1 }
var vm = new Vue({
  el: '#example',
  data: data
})

vm.$data === data // => true
vm.$el === document.getElementById('example') // => true

3.1. 实例上常用的属性和方法

vm.$attrs   // 用户获取父组件传递给子组件的属性,(除props,class,style外)
vm.$data    // vm 上的数据
vm.$watch   // 监听
vm.$el      // 当前el元素
vm.$set     // 后加的属性实现响应式
vm.$options // vm 配置 上的 所有属性
vm.$nextTick(()=>{})   // 异步方法,等待渲染dom完成后来获取vm
vm.$refs     // 获取dom元素或者组件实例的引用

其实我们可以创建一个Vue实例,然后在控制台上打印这个实例对象,你会看到很多的属性和方法

const vm = new Vue({
    el: "#app",
})

在控制台输入vm显示结果:

实例属性.png

这里面很多属性,我们暂时不用去关心他,因为随着学习的深入,慢慢都会学习到的.

4.实例化多个vue

我们可以在页面上同时实例化多个Vue, 不同的实例接管页面上不同的区域.看下如下的示例:

实例化多个Vue对象

{{ title }}

{{ greet }}

{{ title }}

{{ greet }}

Vue事件和方法还没有讲到, 先做一个了解即可:

示例分析:

两个实例one和two接管了不同的DOM元素,点击按钮是在two实例接管的DOM元素中,所以,当你点击时,只会触发two实例中的方法, 也只会改变two实例中的数据

那么问题来了?能否在two实例中修改one实例中的数据呢,?

答案当然是可以的啦, 因为变量one是全局变量,在two实例化中,就可以通过one变量得到第一个Vue实例化对象,然后就可以通过实例化对象修改数据,这个可以自己尝试写写.

5. Vue 操作DOM元素

虽然Vue是数据驱动的,但是有的时候我们就需要自己手动的获取到DOM元素,对DOM元素进行操作,那么该如何处理呢,

操作DOM元素:

在需要操作的DOM元素中使用ref属性,ref属性的值是自己随便定义的名字通过Vue实例的$refs属性获取操作dom元素
无为

关于示例中$refs属性的解释:

因为可以在多个DOM元素上使用ref.所以$refs属性获取的是所有具有ref属性的DOM元素的集.因此要想操作确定的DOM元素就需要在通过当初的ref值获取.

简而言之: 就是ref在dom元素上通过 this.$refs.自定义名字 是获取dom元素

当获取到DOM元素后,然后就可以采用原生的JavaScript对DOM进行操作

注意:

Vue 接管的DOM元素之外的元素使用ref是获取不了的,值是undefined

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【vue项目案例(Vue实例化)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/2047962.html

标签:vue项目案例

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.0343秒, 内存占用1.93 MB, 访问数据库24次

陕ICP备14005772号-15