Vue.js 学习笔记

Vue.js简介

  • Vue.js是一款轻量级前端框架,具有响应式编程和组件化的特点
Vue.js的导入
  • 从官网获取Vue.js

    https://cn.vuejs.org/
    
  • 可以使用cdn在线导入

    <script src="http://cdnjs.cloudflare.com/ajax/libs/vue/2.5.6/vue.min.js"></script>
    

    在线导入时可以指定VueJs的版本


实例及选项

实例

  • Vue.js是面向实例的。类似于Java的面向对象,Vue.js可以将DOM对象定义为一个Vue实例,基本的格式为:

    var vm = new Vue({
        options
    })
    

    其中,options是对Vue实例的具体细节定义,即选项

选项

  • 在定义了一个Vue实例之后,一般会有如下常用选项:

    选项作用
    el用于指定实例所对应的DOM元素,一般使用CSS选择器
    data用于定义实例中所使用的数据,可实现响应式绑定
    methods用于定义实例中所使用的方法
    computed用于定义实例中所使用的方法,类似methods选项
    components用于定义实例中所使用的模板

    el选项

    • 用于指定实例所对应的DOM元素,用法实例如下

      var vm = new Vue({
          el : '#app'
      })
      

      如果所使用的CSS选择器选择了不止一个DOM元素,例如使用类选择器,那么只会作用于第一个符合条件的DOM元素

    data选项

    • 用于定义实例中所使用的数据,用法实例如下

      var vm = new Vue({
          el : '#app',
          data : {
              message : 'hello world'
          }
      });
      
    • 在页面中可以使用双花括号来调用data中的数据来进行输出,如{{message}}。data中的数据是响应式的,即数据发生变化,对应的输出也就会发生变化。(数据绑定)

    methods选项

    • 用于定义实例中所使用的指令,用法实例如下

      var vm = new Vue({
          el : '#app',
          methods : {
              demo : function(){
                  alert('测试方法绑定')
              }
          }
      });
      
    • 页面中的绑定:

      <div id="app">
          <button v-on:click='demo'>
              测试方法
          </button>
      </div>
      

      computed选项

    • 类似methods选项的用法,区别在于methods是需要实际调用才会去执行的,而computed是在渲染结束之后直接调用。上一个例子中如果使用computed来定义demo方法的话,在button按钮加载结束之后会调用此方法,但再次点击是不会触发的,除非其渲染发生改变。因此,一般的方法绑定还是选择methods选项。

    components选项

    • Vue.js可以定义模板来进行输出,用法如下

      var vm = new Vue({
          el : '#app',
          components : {
              'info' : {
                  template : '<h1>Vue定义的模板</h1>'
              }
          }
          
      })
      
    • 使用模板输出时,HTML中更为简单,而且可以复用

      <div id='app'>
          <info></info>
      </div>
      
    • 关于components选项的用法更多细节会在以后提到


生命周期与钩子函数

  • Vue实例从开始创建到渲染到最后的销毁的过程,可以使用钩子函数对其进行监控

  • 对生命周期的定义,Vue2.0版本以后做出了较大的改动,如下:

    1.x.x2.0+描述
    initbeforeCreated组件的实例被创建,组件的属性计算之前
    createdcreated实例已创建完成后
    beforeCompilebeforeMount挂载开始之前
    compiledmounted模板挂载之后
    readymounted模板挂载之后
    beforeUpdated组件更新之前
    updated组件更新之后
    activated组件被激活(for keep-alive)时
    deactivated组件被移除时
    attached组件插入DOM时
    detached组件移除DOM时
    beforeDestroybeforeDestroy组件销毁前
    destroyeddestroyed组件销毁后
  • 调用生命周期钩子函数的方法:

    var vm = new Vue({
        el : '#app',
        created : function(){
            console.log('vm is created!')
        },
        mounted : function(){
            console.log('vm is mounted!')
        }
    })
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值