小白学习Vue(7)--实例方法/生命周期(vm.$nextTick | vem.$mount)

7. 实例方法/生命周期
 7.1. vm.$mount( [elementOrSelector] )

 用于手动挂载一个未挂载的实例,方法返回实例本身,elementOrSelector为需要挂载到的dom节点

<div id="test-instanceMount"></div>
<div id="test-instanceMountEL"></div>

<script>
    var component = Vue.extend({
        template: '<div>Hello</div>'
    });

    new component().$mount('#test-instanceMount');// 子组件挂载到test-instanceMount
    new component({el: '#test-instanceMountEL'})
</script>
 7.2. vm.$forceUpdate()

 迫使 Vue 实例重新渲染。注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。

 7.3. vm.$nextTick( [callback] )

 在数据变化后要执行某个操作,当你设置vm.someData = ‘new value’ ,DOM并不会马上更新
 如果此时你想要根据更新的DOM状态去做某些事,可以在数据变化后立即使用vm.$nextTick( [callback] )

<div id="test-instanceNextTick">
    <example></example>
</div>
<script>
    Vue.component('example', {
        data: function () {
            return {
                message: '未更新'
            }
        },
        methods: {
            updateMessage: function () {
                this.message = '已更新';
                console.log(this.$el.textContent); // 未更新
                this.$nextTick(function () {
                    console.log(this.$el.textContent); // 已更新
                })
            }
        },
        template: `<button v-on:click="updateMessage">{{message}}</button>`
    });
    new Vue({
        el: '#test-instanceNextTick'
    });
</script>
 7.4. vm.$destroy()

 完全销毁一个实例。清理它与其它实例的连接,解绑它的全部指令及事件监听器。触发 beforeDestroy 和 destroyed 的钩子。

参考:Vue官网Api

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值