1. 程式人生 > >2:管理系統 vue-element-admin介紹(目錄..知識點...)

2:管理系統 vue-element-admin介紹(目錄..知識點...)

1、目錄結構
2、知識點
① import Vue form ‘vue’
啥意思?怎麼引入的?
很多js介面都有這段程式碼,能不能全域性引入?
②import * as filters from ‘./filters’
按 es6 的規範 import * as obj from “xxx” 會將 “xxx” 中所有 export 匯出的內容組合成一個物件返回。
③Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key])
})
遍歷filters物件,類似於for in 組成filter
render:h=>h(App)

以下開始研究登入頁面,其他情況類似~ /login/index.vue
一、contst(常量)、var(變數)、let(作用於當前程式碼範圍內的變數)
使用var宣告的變數,其作用域為該語句所在的函式內,且存在變數提升現象;

var i=0;
add:function()
{
	//i此時變成2;正確
	i=i+2;
}

使用let宣告的變數,其作用域為該語句所在的程式碼塊內,不存在變數提升;

let i=0;
add:function()
{
	//錯誤
	i=i+2;	
}

使用const宣告的是不能修改conts的量,在後面出現的程式碼中不能再修改該常量的值(是指棧記憶體在的值和地址)。

add:function()
{
	const obj = {a:1}
    obj.a=2
    obj.b=2;//正確,可以新增一個新屬性

    const obj = {a:1}
    obj = {a:2}
   //錯誤,不可以修改
	
}

二、為什麼vue元件中data的是一個函式
data(){} 每個例項可以維護一份被返回物件的獨立的拷貝:
三、各種箭頭函式 參考js語法

const validateUsername = (rule, value, callback) => {
      if (!isvalidUsername(value)) {
        callback(new Error('Please enter the correct user name'))
      } else {
        callback()
      }
    }

在這裡插入圖片描述
四、watch、$route

  watch: {
    $route: {
      handler: function(route) {
        this.redirect = route.query && route.query.redirect
      },
      immediate: true
    }

  }
  	首先確認 watch是一個物件,一定要當成物件來用。
  	物件就有鍵,有值。 
	鍵:就是你要監控的那個傢伙,比如說$route,這個就是要監控路由的變化。
	值可以是函式:就是當你監控的傢伙變化時,需要執行的函式
	值也可以是函式名:不過這個函式名要用單引號來包裹。 
--------------------- 
  handler:其值是一個回撥函式。即監聽到變化時應該執行的函式。

五、vue-dev-tools vue開發利器

六、 @supports css語法

@supports可以讓我們在不支援CSS3屬性的瀏覽器下配上單獨的樣式
@supports可以使用not邏輯宣告,主要作用是,在不支援新特性時,可以提供備用樣式
@supports可以使用and邏輯宣告,如果同時支援這兩個條件,那麼瀏覽器將會呼叫這部分樣式

關於登入使用者名稱密碼驗證,走了很多彎路,本來是一件很簡單的事情,結果debugger除錯到原始碼中,看不懂了。。
登入的流程是,輸入使用者名稱或者密碼的時候,blur事件是指當一個元素失去焦點的時候 blur 事件被觸發。在點選登入的時候,會驗證規則,如果規則不通過,則結果返回false,不能進入主介面。
預設程式碼中只有amdin、editor可以登入

D:\vue\vue-element-admin-master\src\views\login\index.vue
!isvalidUsername(value)

import { isvalidUsername } from '@/utils/validate'

export function isvalidUsername(str) {
  const valid_map = ['admin', 'editor']
  return valid_map.indexOf(str.trim()) >= 0
}

最近一直在忙專案,沒有時間寫部落格,但是我會一直堅持寫下去