隨筆

緩存 :<keep-alive> <transition>
<keep-alive> 包裹動態(tài)組件時,會緩存不活動的組件實例,而不是銷毀它們。和 <transition> 相似,<keep-alive> 是一個抽象組件:它自身不會渲染一個 DOM 元素,也不會出現(xiàn)在父組件鏈中。

當組件在 <keep-alive> 內(nèi)被切換,它的 activated 和 deactivated 這兩個生命周期鉤子函數(shù)將會被對應(yīng)執(zhí)行。

渲染視圖組件: router-view
<router-view> 組件是一個 functional 組件,渲染路徑匹配到的視圖組件。<router-view> 渲染的組件還可以內(nèi)嵌自己的 <router-view>,根據(jù)嵌套路徑,渲染嵌套組件。
因為它也是個組件,所以可以配合 <transition> 和 <keep-alive> 使用。如果兩個結(jié)合一起用,要確保在內(nèi)層使用 <keep-alive>:

<transition>
  <keep-alive>
    <router-view></router-view>
  </keep-alive>
</transition>

組件: components

a鏈接:<router-link to="/about">About</router-link>

路徑中重定向: redirect

{
  path: '/',
  redirect: '/goods'
}, {
  path: '/goods',
  component: goods
}

用$http時要引入 vue-resource

import vueResource from 'vue-resource'
vue.use(vueResource)

$refs用法:
一般來講,獲取DOM元素,需document.querySelector(".input1")獲取這個dom節(jié)點,然后在獲取input1的值。

但是用ref綁定之后,我們就不需要在獲取dom節(jié)點了,直接在上面的input上綁定input1,然后$refs里面調(diào)用就行。
例:<div ref = ' a '></div> var a = this.$refs.a

什么時候需要用的Vue.nextTick()
你在Vue生命周期的created()鉤子函數(shù)進行的DOM操作一定要放在Vue.nextTick()的回調(diào)函數(shù)中。原因是什么呢,原因是在created()鉤子函數(shù)執(zhí)行的時候DOM 其實并未進行任何渲染,而此時進行DOM操作無異于徒勞,所以此處一定要將DOM操作的js代碼放進Vue.nextTick()的回調(diào)函數(shù)中。與之對應(yīng)的就是mounted鉤子函數(shù),因為該鉤子函數(shù)執(zhí)行時所有的DOM掛載和渲染都已完成,此時在該鉤子函數(shù)中進行任何DOM操作都不會有問題 。
在數(shù)據(jù)變化后要執(zhí)行的某個操作,而這個操作需要使用隨數(shù)據(jù)改變而改變的DOM結(jié)構(gòu)的時候,這個操作都應(yīng)該放進Vue.nextTick()的回調(diào)函數(shù)中。
原因是,Vue是異步執(zhí)行dom更新的,一旦觀察到數(shù)據(jù)變化,Vue就會開啟一個隊列,然后把在同一個事件循環(huán) (event loop) 當中觀察到數(shù)據(jù)變化的 watcher 推送進這個隊列。如果這個watcher被觸發(fā)多次,只會被推送到隊列一次。這種緩沖行為可以有效的去掉重復(fù)數(shù)據(jù)造成的不必要的計算和DOm操作。而在下一個事件循環(huán)時,Vue會清空隊列,并進行必要的DOM更新。
當你設(shè)置 vm.someData = 'new value',DOM 并不會馬上更新,而是在異步隊列被清除,也就是下一個事件循環(huán)開始時執(zhí)行更新時才會進行必要的DOM更新。如果此時你想要根據(jù)更新的 DOM 狀態(tài)去做某些事情,就會出現(xiàn)問題。。為了在數(shù)據(jù)變化之后等待 Vue 完成更新 DOM ,可以在數(shù)據(jù)變化之后立即使用 Vue.nextTick(callback) 。這樣回調(diào)函數(shù)在 DOM 更新完成后就會調(diào)用。

this.$emit('add', event.target);子組件把數(shù)據(jù)傳給 父組件

Vue.set( target, key, value )設(shè)置對象的屬性。如果對象是響應(yīng)式的,確保屬性被創(chuàng)建后也是響應(yīng)式的,同時觸發(fā)視圖更新。這個方法主要用于避開 Vue 不能檢測屬性被添加的限制。

props 中的數(shù)據(jù)是數(shù)組,默認值

props: {
        selectFoods: {
         type: Array,
          default: function () {
            return {
              price: 10,
             count: 1
           }
          }
       }
     }
1.jpg

在computed中的function 是根據(jù)數(shù)據(jù)變化 而執(zhí)行的

在vue.js中 返回數(shù)據(jù)

return ` ¥${this.minPrice}元起送 ` 

這里用的是es6反引號

子組件中
this.$emit('add')

父組件中
<cartcontrol @add="addFood"></cartcontrol>

當子組件拋出this.$emit('add')這句話時,父組件就要調(diào)用addFood事件(理解: 相當于子組件的回調(diào)函數(shù))

時間顯示
yyyy-MM-dd hh:mm 這個月 一定要大寫 不然就跟分鐘沖突了

Math.abs(x) === x的絕對值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • vue.js 基礎(chǔ): Vue構(gòu)造器:Vue.extend(options) 是vue構(gòu)造器的擴展,調(diào)用Vue.ex...
    姒沝無痕閱讀 300評論 0 0
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對于 Vue 1.0 印象不深的內(nèi)容。關(guān)于...
    云之外閱讀 5,174評論 0 29
  • 1.安裝 可以簡單地在頁面引入Vue.js作為獨立版本,Vue即被注冊為全局變量,可以在頁面使用了。 如果希望搭建...
    Awey閱讀 11,296評論 4 129
  • Vue 實例 屬性和方法 每個 Vue 實例都會代理其 data 對象里所有的屬性:var data = { a:...
    云之外閱讀 2,369評論 0 6
  • 一、4種訪問修飾符 private 類訪問權(quán)限:本類內(nèi)部可以訪問,不能繼承到子類; default 什么都不寫,包...
    阿敏其人閱讀 173評論 0 0

友情鏈接更多精彩內(nèi)容