美文网首页
基础知识

基础知识

作者: Look_a_Look | 来源:发表于2017-08-09 12:59 被阅读5次

每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例 启动的:

var vm = new Vue({
    el: "#example",
    // 每个 Vue 实例都会代理其 data 对象里所有的属性,只有这些被代理的属性是响应的,也就是说值的任何改变都是触发视图的重新渲染
    data: {
        a: 123
    },
    // 此实例的混合对象
    mixins:[],
    // 此实例的方法
    methods:{ 
        aaa:function(){
            alert("普通函数可以访问到this,箭头函数不可以访问到this")
        }
    },
    // 此实例用到的指令
    directives:{},
    // 此实例用到的组件
    components{},

    // 所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算。
    // 这意味着 你不能使用箭头函数来定义一个生命周期方法 
    beforeCreate: function () {
        console.log(this + "实例初始化之后");
    },
    created: function () {
        console.log(this + "实例已经创建完成,已完成 数据观测,属性和方法的运算,watch/event 事件回调");
    },
    beforeMount: function () {
        console.log(this + "挂载开始之前,相关的 render 函数首次被调用");
    },
    mounted: function () {
        console.log(this + "el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子");
    },
    beforeUpdate: function () {
        console.log(this + "数据更新时,导致虚拟 DOM 重新渲染和打补丁之前调用该钩子");
    },
    updated: function () {
        console.log(this + "数据更新导致的虚拟 DOM 重新渲染和打补丁,之后会调用该钩子");
    },
    activated: function () {
        console.log(this + "keep-alive 组件激活时调用");
    },
    deactivated: function () {
        console.log(this + "keep-alive 组件停用时调用");
    },
    beforeDestroy: function () {
        console.log(this + "实例销毁之前调用,此时,实例仍然完全可用");
    },
    destroyed: function () {
        console.log(this + "Vue 实例销毁后调用");
    },

    render: function (createElement) {
        return createElement(
            'div',  // {String | Object | Function}  一个 HTML 标签字符串,组件选项对象,或者一个返回值类型为String/Object的函数,必要参数
            { // {Object}  一个包含模板相关属性的数据对象 这样,您可以在 template 中使用这些属性。可选参数。(https://cn.vuejs.org/v2/guide/render-function.html#深入data-object参数)
                attrs: {
                    id: 'foo'
                },
                props: {// 组件 props
                    myProp: 'bar'
                }
            },
            [ // {String | Array} 子节点 (VNodes),由 `createElement()` 构建而成, 或简单的使用字符串来生成“文本结点”。可选参数。
                '先写一些文字',
                createElement('h1', '一则头条'),
                createElement(MyComponent, {
                    props: {
                        someProp: 'foobar'
                    }
                })
            ]
        )
    }
});

// Vue 实例暴露了一些有用的实例属性与方法。这些属性与方法都有前缀 $,以便与代理的 data 属性区分
vm.$data === data // -> true
vm.$el === document.getElementById('example') // -> true
// $watch 是一个实例方法
vm.$watch('a', function (newVal, oldVal) {
  // 这个回调将在 `vm.a`  改变后调用
})

相关文章

  • 音频基础知识02

     音频基础知识 01  音频基础知识 02  音频基础知识 03  音频基础知识 04 人类收集声音的历史   为...

  • PHP全栈学习笔记18

    php基础知识,JavaScript,jQuery,ajax基础知识 linux基础知识,mysql数据库的基础与...

  • PHP全栈学习笔记18

    php基础知识,JavaScript,jQuery,ajax基础知识 linux基础知识,mysql数据库的基础与...

  • C语言回顾

    基础知识 控制流 基础知识补充 其他主题

  • PHP面试知识脉络(更新中)

    PHP基础知识Javascript、jQuery、ajax基础知识Linux基础知识MySQL数据库的基础与优化程...

  • p2p理财基础知识

    p2p理财基础知识 p2p理财基础知识 p2p理财基础知识

  • 学习Vue框架之前,要有JavaScript的知识储备

    前端三剑客知识储备(有关前端的专题) ☑ HTML基础知识 ☑ CSS基础知识 ☑ JavaScript5基础知识...

  • angular笔记

    第一部分、基础知识--------------------------基础知识------------------...

  • 【学习】其他框架

    Zookeeper Zookeeper基础知识Zookeeper综合知识 HDFS HDFS基础知识 NoSQl ...

  • Python3基础知识

    Python3基础知识 | 基础语法 Python3基础知识 | 编程第一步 Python3基础知识 | 基本数据...

网友评论

      本文标题:基础知识

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