Vue实例的属性和方法

一、Vue之实例属性

Vue 实例暴露了一些有用的实例属性与方法。这些属性与方法都有前缀 $,以便与代理的数据属性区分

组件树

  • $parent:用来访问组件实例的父实例
  • $root: 用来访问当前组件树的根实例
  • $children:用来访问当前组件实例的直接子组件实例
  • $refs:用来访问v-ref指令的子组件

DOM访问

  • $el:用来挂载当前组件实例的dom元素
  • e l s : 用 来 访 问 els:用来访问 els访el元素中使用了v-el指令的DOM元素

 - <div id="app2">
       {{ message }} </div> <script>
       var vm2 = new Vue({
           el:"#app2",
           data:{
               message : "I am message."
           }
       });
       console.log(vm2.$el);          //vm2.$el === 原生js中document.getElementById("app2") 
       vm2.$el.style.color = "red";   //变成红色 </script>

数据访问

  • $data:用来访问组件实例观察的数据对象
  • $options:用来访问组件实例化时的初始化选项对象

DOM方法的使用

  • $appendTo(elementOrSelector, callback):将el所指的DOM元素插入目标元素
  • $before(elementOrSelector, callback):将el所指的DOM元素或片段插入目标元素之前
  • $after(elementOrSelector, callback):将el所指的DOM元素或片段插入目标元素之后
  • $remove(callback):将el所指的DOM元素或片段从DOM中删除
  • $nextTick(callback):用来在下一次DOM更新循环后执行指定的回调函数

event方法的使用

监听

  • $on(event, callback):监听实例的自定义事件
  • $once(event, callback):同上,但只能触发一次

触发

  • $dispatch(event, args):派发事件,先在当前实例触发,再沿父链一层层向上,对应的监听函数返回false停止
  • b r o a d c a s t ( e v e n t , a r g s ) : 广 播 事 件 , 遍 历 当 前 实 例 的 broadcast(event, args):广播事件,遍历当前实例的 broadcast(event,args)广children,如果对应的监听函数返回false,就停止
  • $emit(event, args):触发事件
<div id="ap2">
    <p>{{ num }}</p>
    <button @click="increase1"> add </button>
</div>
<button onclick="reduce2()"> reduce2 </button> <button onclick="offReduce()"> off reduce </button>
<script>
    var ap2 = new Vue({
        el:"#ap2",
        data:{
            num:5
        },
        methods:{
            increase1:function () {
                this.num ++;
            }
        }
    });
    // .$on定义事件 .$once定义只触发一次的事件
    ap2.$on("reduce",function (diff) {
        ap2.num -= diff ;
    });
 
    // .$emit触发事件
    function reduce2() {
        ap2.$emit("reduce", 2);
    }
 
    // .$off解除事件 解除后,定义的reduce事件将不再执行
    function offReduce() {
        ap2.$off("reduce");
    }
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值