1. 程式人生 > >vue的常用實例方法--$mount(),$destroy(),$watch(),$forceUpdate()

vue的常用實例方法--$mount(),$destroy(),$watch(),$forceUpdate()

mes col methods style console 更新 實例化 date() troy

常用的實例方法:
$mount()外部設置el,  vue的作用範圍
$destroy()手動銷毀
$watch()監聽
$forceUpdate()強制更新

1.$mount()外部設置el, vue的作用範圍

<body>
    <div id="app">
        <h2>{{message}}</h2>
    </div>
 
    <button onclick="add()">添加el</button>
</body>
</html>
<script src="
vue.js"></script> <script> var vm = new Vue({ data:{ message:"張三" } }) //實例外創建el function add(){ //外部設置el。vue的作用範圍 vm.$mount("#app"); } </script>

<body>
    <div id="app">
        <h2>{{message}}</h2>
        <p>{{age}}</p>
        <input type="
text" v-model="obj.name"> <button @click="watchDeep()" >外部監聽</button> </div> <button onclick="add()">添加el</button> <button onclick="destroy()">銷毀</button> <button onclick="update()">強制更新</button> </body> </html> <script src="
vue.js"></script> <script> var vm = new Vue({ data:{ message:"張三", obj:{ name:"張三", age:18 } }, methods:{ watchDeep(){ this.$watch("obj",()=>{ console.log("事件監聽"); },{ deep:true }) } } }) vm.age = 18; //實例外創建el function add(){ //外部設置el。vue的作用範圍 vm.$mount("#app"); } function destroy(){ //銷毀vm實例與DOM之間的關聯 vm.$destroy(); } /*只有在實例化方法中,添加屬性,才會有setter和getter方法,實現數據雙向通信 在實例化方法外,添加屬性,沒有setter和getter方法,不能雙向通信,解決方法:強制更新$.forceUpdate() */function update(){ vm.$forceUpdate(); } //外部監聽 // vm.$watch("obj",()=>{ // console.log("執行監聽") // },{ // deep:true // }) </script>

vue的常用實例方法--$mount(),$destroy(),$watch(),$forceUpdate()