Vue的一些特殊API紀錄

$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 不是真正的雙向綁定,而是一個語法糖,修改數據還是在父組件完成的,並非在子組件。

缺點:

  1. 不能和表達式一起使用(如 v-bind:title.sync="doc.title + '!'" 是無效的);
  2. 不能用在字面量對象上(如 v-bind.sync="{ title: doc.title }" 是無法正常工作的)。

vm.$set

  1. 由於 JavaScript 的限制,Vue 不能檢測以下變動的數組:

    1. 當利用索引直接設置一個項時,例如:this.items[index] = value;
    2. 當修改數組的長度時,例如:vm.items.length = newLength
  2. 由於 JavaScript 的限制,Vue 不能檢測對象屬性的添加或刪除

$set就是用來解決這些問題的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章