vue開發(fā)填坑

1. 如何監(jiān)聽url中參數(shù)的變化?

正常情況下,url里的參數(shù)變化之后,頁面是不會更新的。因?yàn)関ue視為url沒有變化,也沒有觸發(fā)任何生命周期的鉤子函數(shù)。
解決方案:通過監(jiān)聽$route的變化來實(shí)現(xiàn)

watch: {
    "$route": {
      handler: function(val, oldVal) {
        // do sth.
      }
    }
}
2. 在vue中監(jiān)聽DOM事件

不要使用DOM0級事件的形式,因?yàn)?級事件會互相覆蓋

// 不推薦的寫法
element.onclick = function() {
    // do sth.
};

使用DOM2級事件則無問題

element.onEventListener("click", function() {
    // do sth.
});
3. 兼容linux / windows系統(tǒng)的啟動命令

當(dāng)使用同一webpack配置打包兩個(gè)項(xiàng)目時(shí),啟動命令需要添加一個(gè)環(huán)境變量的參數(shù),用以區(qū)分兩個(gè)項(xiàng)目的不同路徑不同入口文件等,但是linux環(huán)境與windows環(huán)境下,給命令添加環(huán)境變量參數(shù)的寫法有所不同,如下:

// linux
"dev": "PROJECT=user webpack-dev-server --config webpack.dev.config.js --port 8080",
// windows
"dev": "set PROJECT=user&&webpack-dev-server --config webpack.dev.config.js --port 8080"

注意:user與&&之間不能有空格,否則環(huán)境變量PROJECT會變成
user+空格。


我是自我反省的分割線,上面說的很對,但是也很蠢,其實(shí)更好的方式是使用cross-env

// 安裝cross-env
npm install cross-env --save-dev

// 使用cross-env
"dev": "cross-env PROJECT=user webpack-dev-server --config webpack.dev.config.js --port 8080"
4. vue的一些小知識點(diǎn)
  • 模板表達(dá)式中只能訪問一個(gè)全局變量的白名單,比如Math、Date等
  • 條件渲染 (v-if) 在切換時(shí)并不會完全重新渲染 DOM,比如兩個(gè) input
    切換則輸入值會被保留,可以為切換的元素添加不同的key來強(qiáng)制重新渲染
  • v-show 無法使用 template 包裝元素
  • v-for 可以遍歷對象,(value, key, index) in obj,分別代表值、鍵、索引
  • v-on 的修飾符是有順序的,@click.prevent.self 會阻止所有的點(diǎn)擊,而 @click.self.prevent 只會阻止元素上的點(diǎn)擊
  • 動態(tài)組件可以使用 keep-alive,保留在內(nèi)存
<keep-alive>
  <component :is="currentView">
    <!-- 非活動組件將被緩存! -->
  </component>
</keep-alive>
  • 一個(gè)具有 name 屬性的組件可以遞歸調(diào)用自身
name: 'stack-overflow',
template: '<div><stack-overflow></stack-overflow></div>'
  • 使用 v-once,讓靜態(tài)資源模板只渲染一次
5. vue/react路由為history模式的nginx配置
location / {
  root /path/to/the/dist;
  try_files $uri $uri/ /index.html;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對于 Vue 1.0 印象不深的內(nèi)容。關(guān)于...
    云之外閱讀 5,177評論 0 29
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評論 6 342
  • 〈另一種時(shí)鐘〉 夜晚的文字 都是愛 清晨的字眼 都是警世的雞湯 日復(fù)一日 如同 太陽與月亮 在每個(gè)應(yīng)該出現(xiàn)的時(shí)候 ...
    蔡振源閱讀 347評論 0 3
  • 《槍火》講的是5個(gè)黑道兄弟間的故事。黑幫龍頭文哥被人追殺,其弟阿南前來才得以獲救。阿南召集了阿鬼、阿Mike、阿肥...
    與爾成長閱讀 968評論 0 1

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