Vue实例化

1. Vue实例化

<div id="app">{{ message }}</div>
1.1 关于{{}} 插值表达式:mustache

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

let vm = new Vue({  //实例化
    el:"#app",  // 告诉vue能管理那个部分,使用的是querySelector
    data:{      //data中的数据会被vm所代理
        message:"hello Vue"//可以通过vm.msg取到对应的内容 ,也可以赋值
    }
})
1.2 使用 JavaScript 表达式
<div id="app">
        <!-- 数字操作 -->
        <p>{{ number + 2 }}</p>

        <!-- 三目运算 -->
        <p>{{ ok ? 'YES' : 'NO' }}</p>

        <!-- 字符串翻转 -->
        <p>{{ message.split('').reverse().join('')  }}</p>
    </div>

    <script>
        const vm = new Vue({
            el: "#app",
            data: {
                message: 'Hello World',
                number: 10,
                ok: true,
            }
        })
    </script>
1.3 $data属性

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

关于实例介绍:

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

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

1.4 实例常用的属性和方法
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元素或者组件实例的引用
vm.$data === data // => true
vm.$el === document.getElementById('app') // => true
//Vue实例属性还有很多

2.多个Vue实例化

<div id="app">
    {{message}}
</div>
<div id="app2">
    {{message}}
</div>
const vm = new Vue({
    el:"#app",
    data:{
        message:"hello World"
    }
    //this == vm
})

const vm2 = new Vue({
    el:"#app2",
    data:{
        message:"hello Vue"
    }
})

3.Vue.$refs操作原生Dom元素

<div id="app">
   <div ref="div">DivElement</div>  <!--为标签命名-->
   <button @click="handleClick">改变数据</button>
</div>
const vm = new Vue({
        el:"#app",
        data:{
            message:"hello Vue"
        },
        methods:{
           handleClick(){
              let elements = this.$refs.div;
              elements.innerHTML = this.message;
           }
        }
    })

Vue只负责它所接管的Dom元素

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.创建一个Vue实例 通过vue函数创建一个新的vue实例一个vue应用由一个通过new vue创建的根Vue实...
    送你回城决阅读 271评论 0 1
  • 1.创建一个Vue实例 通过vue函数创建一个新的vue实例 一个 Vue 应用由一个通过 new Vue 创建的...
    时光如剑阅读 1,930评论 5 27
  • 1、创建一个VUE实例 2、什么是声明式渲染? 声明式渲染就是一种利用简洁的模板语法通过声明的方式将数据渲染进do...
    无路可退的尧阅读 428评论 0 0
  • 安装 兼容性 Vue不支持IE8及以下版本。 引入 直接下载并用 标签引入,Vue会被注册为一个全局变量。开发版本...
    oWSQo阅读 873评论 1 0
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,275评论 0 25