国产精品美女久久久浪潮AV,国产精品三级一二三区,久久精品国产一区二区小说 ,依依成人影视国产精品,全部无卡免费的毛片在线看,日本一区二区三深夜不卡,国产精品女同一区二区久久,国产精品夜色一区二区三区

        首頁

        vue相關配置

        前端達人

        VeeValidator

        語言設置

        校驗消息默認是英文的,定義中文或其他語言的錯誤提示消息

        
        
        1. import VeeValidate from 'vee-validate';
        2. import Vue from 'vue'
        3. Vue.use(VeeValidate)
        4. var dict = {
        5. zh_CN: {
        6. messages: {
        7. required: function(field){
        8. return field + '不能為空!';
        9. },
        10. between: function(field){
        11. return field + '輸入不符合設定規則!';
        12. },
        13. min : function (field,leng) {
        14. return field + '長度不能小于'+leng+'位';
        15. }
        16. }
        17. }
        18. };
        19. VeeValidate.Validator.localize('zh_CN', dict.zh_CN);

        校驗的時候需要設置語言

        this.$validator.localize('zh_CN');

        錯誤消息顯示

        顯示指定字段的第一個錯誤

        this.$validator.first('fieldname')

        顯示所有字段的第一個錯誤消息

        this.$validator.errors.all()

        Mock.js

        配置

        路由攔截配置不需要修改之前的代碼,匹配的url請求會直接通過mock而不是請求服務器

        
        
        1. const handler = req => {
        2. return {mock數據};
        3. }
        4. Mock.mock('url攔截規則,正則表達式',handler)

        配置延遲時間

        模擬服務器請求的異步特性

        
        
        1. Mock.setup({
        2. timeout:1000
        3. })

        Vuex

        模塊化

        多人協作,或者中大型的項目需要把store分為模塊

        
        
        1. const a = {
        2. state : {foo:1},
        3. mutations : {hello(state)=> {}},
        4. modules : {
        5. ...嵌套
        6. }
        7. }
        8. const b = {}
        9. const store = {
        10. state : {},
        11. mutations : {},
        12. actions : {},
        13. modules : {
        14. module_name_a:a,
        15. module_name_b:b
        16. }
        17. }

        在調用的時候,state 有命名空間的,而mutation和actions都與父模塊共用同樣的命名空間所以不能定義與父模塊同名的mutation 或 action

        獲取模塊的state

         this.$store.state.module_name_a.foo

        調用模塊的mutation

        this.$store.commit('hello')

        namespace

        定義了namespace ,mutations 和 action 會帶上模塊的命名: module_name/muation

        
        
        1. const store = {
        2. modules : {
        3. namespace : true,
        4. a: {
        5. muations : {
        6. test(state) => {...}
        7. }
        8. }
        9. }
        10. }

        這時候調模塊內的mutation

        this.$store.commit('a/test')

        vuejs-datepicker

        日期選擇控件

        設置默認值

         <datepicker v-model="mydate" </datepicker> 

        日期格式化

        <datepicker :format="'yyyy-MM-dd'"> </datepicker> 

        語言選擇(默認是英文)

        導入語言資源文件,然后再設置:language

        設置成中文

        
        

        git學習記錄

        前端達人

        一、建立一個庫



        1、git clone [url]    // 克隆代碼



        2、設置貢獻者



              git config --global user.name ""   // 設置當前本地庫username



              git config --global user.email "
        "   // 設置當前本地庫useremail



              git config --global user.email   // 查看當前本地庫useremail



              git config --list   // 查看所以配置項

        二、git的三個區

        1、工作區:本地編寫代碼的地方叫工作區

        2、暫存區:工作區改好的代碼先提交到暫存區,然后由暫存區將代碼提交到版本庫

             - 作為過渡層

             - 避免誤操作

             - 保護工作區和版本區

             - 分支處理


        TypeScript

        前端達人

        TypeScript是什么

        Type+EcmaScript6

        TypeScript是JavaScript的強類型版本。然后在編譯期去掉類型和特有語法,生成純粹的JavaScript代碼。由于最終

        在瀏覽器中運行的仍然是JavaScript, 所以TypeScript并不依賴于瀏覽器的支持,也并不會帶來兼容性問題。

        TypeScript是JavaScript的超集,這意味著他支持所有的JavaScript語法。并在此之上對JavaScript添加了- -些擴

        展,如class / interface / module等。這樣會大大提升代碼的可閱讀性。

        和JavaScript若類型不同,TypeScript這種強類型語言最大的優勢在于靜態類型檢查,可以在代碼開發階段就預知一

        些低級錯誤的發生。

        ●-種類似于JavaScript的語言,在JavaScript的基礎之上增加了類型,同時增強了JavaScript部分語法功能

        ●遵循EcmaScript 6標準規范

        ●由微軟開發

        ●Angular2框架采用TypeScript編寫

        ●背后有微軟和谷歌兩大公司支持

        ●TypeScript可以編譯成Javascript從而在支持Javascript的環境中運行

        ●TypeScript和javascript的關心就好比less和css的關系



        javascript 是動態的

        可以在執行階段重新賦值不同的類型數據

        .ts 后綴表示一個TypeScript文件

        Typescript兼容es6

        TypeScript為javascript增加了類型的概念

        Typescript是強類型 一旦定義數據的類型 不能動態修改這 樣幫我們在開發階段避免很多低級錯誤

        echarts數據動態更新和dataZoom被重置的解決方案

        前端達人

        1.全局綁定滾輪事件,獲得dataZoom的位置:



        myChart.on('dataZoom',function(event){

            if(event.batch){

            start=event.batch[0].start;

            end=event.batch[0].end;

            }else{

            start=event.start;

            end=event.end;

            };

        });

        2.把的start和end賦值給要更新的option



        window.setInterval(function () {

            num=Math.random()*num+100;

        data0.splice(0,1);

        data0.push(num);

         

        option.dataZoom[0].start=start;

        option.dataZoom[0].end=end;

        myChart.setOption(option);    

        },3000);

        Vue 數據持久化

        前端達人

        方法一:使用 localStorage 存儲數據

        window.localStorage.setItem(key,value)

         

        方法二:使用 vuex-persistedstate插件

        vuex 存在一個痛點,就是刷新以后vuex里面存儲的state就會被瀏覽器釋放掉(state都是存儲在內存中的)。

        辦法:

        通過vuex-persistedstate插件,實現將數據存儲到本地。

        1.實現

        import createPersistedState from 'vuex-persistedstate'
        export default new Vuex.Store({
            state:{},
            getters:{},
            actions:{},
            mutations:{},
            modules:{},
            plugins: [createPersistedState()]  //加上這個就可以了 //里面設置需要緩存的內容
        })

        API:  https://www.npmjs.com/package/vuex-persistedstate

        方法三: 使用vue-cookie插件

        cookie 可以設置過期時間

        import Vue from 'vue';
        import Vuex from 'vuex';

        Vue.use(Vuex)
        var VueCookie = require('vue-cookie');

        export default new Vuex.Store({
          state: {
            token: VueCookie.get('token')
          },
          mutations: {
            saveToken(state, token) {
              state.token = token;
              // 設置存儲
              VueCookie.set('token', token, { expires: '30s' });
            }
          },
          actions: {

          }
        })

        vue使用路由進行頁面跳轉時傳遞參數

        前端達人

        一. 通過router-link進行跳轉

        <router-link

        :to="{

        path: 'yourPath',

            params: {

            name: 'name',

                dataObj: data

        },

        query: {

            name: 'name',

                dataObj: data

        }

        }">

        </router-link>

        二. 通過編程導航 $router進行路由跳轉

        1.路徑后拼接參數

        通過路徑后直接拼接來傳遞參數



        getDescribe(id) {

        // 直接調用$router.push 實現攜帶參數的跳轉

                this.$router.push({

                  path: /describe/${id},

                })



        對應路由配置

        注意:此方法需要修改對應路由配置,需要在path中添加/:id來對應 $router.push 中path攜帶的參數。



         {

             path: '/describe/:id',

             name: 'Describe',

             component: Describe

           }



        獲取傳遞的參數值



        this.$route.params.id

        1. 通過params來傳遞參數

          傳遞參數

          通過路由屬性中的name來確定匹配的路由,通過params來傳遞參數。



           this.$router.push({

                    name: 'Describe',

                    params: {

                      id: id

                    }

                  })



          對應路由配置

          注意這里不能使用:/id來傳遞參數了,因為已經使用params來攜帶參數了。



          {

               path: '/describe',

               name: 'Describe',

               component: Describe

             }



          獲取參數



          this.$route.params.id

          1
        2. 通過query來傳遞參數

          傳遞參數

          使用path來匹配路由,然后通過query來傳遞參數

          這種情況下 query傳遞的參數會顯示在url后面?id=?



          this.$router.push({

                    path: '/describe',

                    query: {

                      id: id

                    }

                  })



          對應路由配置



           {

               path: '/describe',

               name: 'Describe',

               component: Describe

             }



          獲取參數



          this.$route.query.id




        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://m.shtzxx.cn

        存檔

        主站蜘蛛池模板: 年轻漂亮的女教师2| 动漫黄在线观看免费| 色婷婷综合久久久久中文一区二区| 国产成人亚洲综合色就色| 国产精品亚洲片在线| 老熟女一区二区免费| 日本少妇人妻xxxxx18| 国产成人午夜福利在线观看| 色婷婷综合久久久中文字幕| 精品无人乱码一区二区三区| 丝瓜视频在线观看| 亚洲高清毛片一区二区| ysl千人千色t9t9t9t9| 东兴市| 人妻熟女αⅴ一区二区三区| 性生生活大片又黄又| 国产色婷婷五月精品综合在线| 老师办公室狂肉校花h寝室视频| 欧美+国产在线观看| 熟女俱乐部五十路六十路| 中文字幕人妻少妇引诱隔壁| 美女裸体无遮挡免费视频网站 | 免费a级毛片无码专区| 汉中市| 熟女乱| 国产成人综合久久久久久| 中国丰满熟妇xxxx性| 特级做a爰片毛片免费69| 免费观看片| 汝南县| а√在线天堂官网| 欧美熟妇性xxxx欧美熟人多毛| 使劲快高潮了国语对白在线 | 伊人久久大香线蕉av一区 | 西西人体高清44rt·net| 辉南县| 陵川县| 久久亚洲a片com人成| 国产一区二区三区日韩精品| 亚洲熟妇丰满多毛xxxx| 久久婷婷成人综合色综合|