$router
$router是VueRouter的一個實例,是一個全局的對象,主要實現路由的跳轉使用。常用的router.push()和router.replace()方法。push方法會像瀏覽器的history棧添加一個新紀錄。replace替換路由,沒有歷史記錄。
$route
是一個路由信息對象,每一個路由都有一個route對象,是一個局部對象。可以獲取name、query、params、path等參數。
vm.$el
獲取Vue實例關聯的DOM元素
vm.$data
獲取Vue實例的data選項(對象)
vm.$options
獲取Vue實例的除了data裏的其它屬性
vm.$refs
獲取頁面中所有含有ref屬性的DOM元素(如vm.$refs.hello,獲取頁面中含有屬性ref = “hello”的DOM元素,如果有多個元素,那麼只返回最後一個)
.sync 修飾符
.sync 不是真正的雙向綁定,而是一個語法糖,修改數據還是在父組件完成的,並非在子組件。
缺點:
- 不能和表達式一起使用(如 v-bind:title.sync="doc.title + '!'" 是無效的);
- 不能用在字面量對象上(如 v-bind.sync="{ title: doc.title }" 是無法正常工作的)。
vm.$set
-
由於 JavaScript 的限制,Vue 不能檢測以下變動的數組:
- 當利用索引直接設置一個項時,例如:
this.items[index] = value
; - 當修改數組的長度時,例如:
vm.items.length = newLength
。
- 當利用索引直接設置一個項時,例如:
-
由於 JavaScript 的限制,Vue 不能檢測對象屬性的添加或刪除。
$set就是用來解決這些問題的