国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue技術分享之你可能不知道的7個秘密

2024-05-06 15:20:05
字體:
來源:轉載
供稿:網友

前言

本文是vue源碼貢獻值Chris Fritz在公共場合的一場分享,覺得分享里面有不少東西值得借鑒,雖然有些內容我在工作中也是這么做的,還是把大神的ppt在這里翻譯一下,希望給朋友帶來一些幫助。

一、善用watch的immediate屬性

這一點我在項目中也是這么寫的。例如有請求需要再也沒初始化的時候就執行一次,然后監聽他的變化,很多人這么寫:

created(){  this.fetchPostList()},watch: {  searchInputValue(){    this.fetchPostList()  }}

上面的這種寫法我們可以完全如下寫:

watch: {  searchInputValue:{    handler: 'fetchPostList',    immediate: true  }}

二、組件注冊,值得借鑒

一般情況下,我們組件如下寫:

import BaseButton from './baseButton'import BaseIcon from './baseIcon'import BaseInput from './baseInput'export default { components: {  BaseButton,  BaseIcon,  BaseInput }}<BaseInput v-model="searchText" @keydown.enter="search" /><BaseButton @click="search"> <BaseIcon name="search"/></BaseButton>

步驟一般有三部,

第一步,引入、

第二步注冊、

第三步才是正式的使用,

這也是最常見和通用的寫法。但是這種寫法經典歸經典,好多組件,要引入多次,注冊多次,感覺很煩。

我們可以借助一下webpack,使用 require.context() 方法來創建自己的(模塊)上下文,從而實現自動動態require組件。

思路是:在src文件夾下面main.js中,借助webpack動態將需要的基礎組件統統打包進來。

代碼如下:

import Vue from 'vue'import upperFirst from 'lodash/upperFirst'import camelCase from 'lodash/camelCase'// Require in a base component contextconst requireComponent = require.context( ‘./components', false, /base-[/w-]+/.vue$/)requireComponent.keys().forEach(fileName => { // Get component config const componentConfig = requireComponent(fileName) // Get PascalCase name of component const componentName = upperFirst(  camelCase(fileName.replace(/^/.///, '').replace(//./w+$/, '')) ) // Register component globally Vue.component(componentName, componentConfig.default || componentConfig)})

這樣我們引入組件只需要第三步就可以了:

<BaseInput v-model="searchText" @keydown.enter="search"/><BaseButton @click="search"> <BaseIcon name="search"/></BaseButton>

三、精簡vuex的modules引入

對于vuex,我們輸出store如下寫:

import auth from './modules/auth'import posts from './modules/posts'import comments from './modules/comments'// ...export default new Vuex.Store({ modules: {  auth,  posts,  comments,  // ... }})            
上一篇:vue寫一個組件

下一篇:Js面試算法詳解

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 田林县| 手机| 宿迁市| 宣恩县| 财经| 焦作市| 绍兴市| 丰原市| 淄博市| 姚安县| 太谷县| 松江区| 驻马店市| 白水县| 合阳县| 民权县| 新密市| 德兴市| 吕梁市| 三穗县| 东乌| 黄陵县| 栾城县| 巴东县| 柳江县| 西乌| 务川| 抚顺县| 凤阳县| 广饶县| 鄱阳县| 东乌珠穆沁旗| 海晏县| 虹口区| 普兰县| 铜梁县| 黄大仙区| 若尔盖县| 怀远县| 福安市| 兴业县|