vue实例

作者: 蠢淡淡不蠢 | 来源:发表于2018-06-25 22:43 被阅读0次

Vue实例

简介

任何Vue程序都需要至少一个Vue实例对象,然后在内部设置各种属性和方法,以及生命周期的控制

创建Vue示例

let vm = new Vue({
    el: '#app',
    data: {},
    methods: {}
})

el 对应的标签根节点

放置一个选择器,不一定是id,可以是class或其它

new Vue({
    el: '.app'
});

data 实例对应的数据

注意:此处的data是数据对象

data: {
    message: 'abc',
    people: [
        { name: 'xiaoming' },
        { name: 'xiaohong' },
        { name: 'xiaoli' }
    ],
    person: {
        name: 'xiaohong',
        age: 18,
        gender: 'M'
    }
}

methods 实例对应的方法

方法的写法不同,内部的this便不同

methods: {
    test1: function () {
        console.log(this); // vm
    },
    test2 () { // 建议写法
        console.log(this); // vm
    },
    test3: () => {
        console.log(this); // window
    }
}

computed 计算属性

语法上看起来对应的是函数,其实代表的是函数的返回值

let vm = new Vue({
    el: '#app',
    data: { a: 10 },
    methods: {
        doubleAFunc () {
            console.log('doubleAFunc'); // 使用一次,执行一次
            return this.a * 2;
        },
        change () {
            this.a += 10; // 如果值发生了改变,则方法执行N次,计算属性执行一次
        }
    },
    computed: { // 计算属性
        doubleA: function () {
            console.log('doubleA'); // 无论使用多少次,都只是执行一次
            return this.a * 2;
        }
    }
});
<h2>{{ doubleA }}</h2>
<h2>{{ doubleAFunc() }}</h2>
<h2>{{ doubleA }}</h2>
<h2>{{ doubleAFunc() }}</h2>
<h2>{{ doubleA }}</h2>
<h2>{{ doubleAFunc() }}</h2>

watch 观察属性值

当值发生改变,第一时间获取新值和旧值

watch: {
    a (newValue, oldValue) {
        console.log('a changed');
        console.log(newValue, oldValue);
    }
}

filter 过滤器

筛选指定的数据

<li>{{ msg | upper }}</li>
<li>{{ people | students(18) }}</li>
filters: {
    upper (str) {
        return str.toUpperCase();
    }, 
    students (people, age) { // 携带了参数
        const arr = [];
        people.map(item => {
            item.age >= age && arr.push(item);
        });
        return arr;
    }
}

相关文章

  • 第3章 Vue 基础精讲

    3-1 Vue实例 vue实例是根实例,组件也是vue实例,所以说页面是由很多vue实例组成的data(): 以d...

  • vue基础知识

    new Vue() 创建 Vue 实例,其中 Vue.components() 也可以创建 Vue 实例。 Vue...

  • vue实例

    Vue实例化 1.创建一个Vue实例 通过Vue构造函数new 一个新的vue实例, 当你创建一个vue实例,你可...

  • Vue.js学习笔记(2)

    Vue 实例 创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的:...

  • Vue.js 数据绑定、指令、事件

    Vue 实例和数据绑定 通过构造函数 Vue 就可以创建一个 Vue 的根实例,并启动 Vue 应用。Vue 实例...

  • vue实例和数据绑定

    vue实例和数据绑定 vue实例和数据绑定 通过script便签引入vue 通过vue构造函数来创建一个vue实例...

  • Vue引入、指令、挂载点、模板、实例和绑定事件

    Vue实例 创建一个Vue实例,每个Vue应用都是通过 Vue 函数创建一个新的Vue实例 开始的:var vm ...

  • Vue实例与模板语法

    Vue实例 新建一个Vue实例 每个Vue应用都是通过Vue函数创建一个新的Vue实例开始的:let data =...

  • Vue学习的第二天

    创建一个Vue实例 每个Vue应用都是通过Vue函数创建一个新的Vue实例开始的,所有的Vue组件都是Vue实例,...

  • Vue入门系列(二)Vue实例和组件

    Vue实例是Vue应用的启动器,Vue组件是Vue实例的扩展。 1. Vue实例 通过构造函数可以创建一个Vue的...

网友评论

      本文标题:vue实例

      本文链接:https://www.haomeiwen.com/subject/znmuyftx.html