摘要:的使用場景在中通過引入在中,由于配置有處理各種文件的,所以可以用引入指令簡單值,數組,對象,數組中對象數組,對象自定義全局指令自定義指令名字指令生效周期配置對象被綁定的那個元素的原生對象一旦綁上馬上調用同上元素插入到之后再
1.Vue的使用場景 :
* 在html中通過script引入 * 在webpack中,由于配置有處理各種文件的loader,所以可以用import引入
2.Vue指令
v-cloak v-bind ==> : v-on ==> @ v-text v-html v-modal :class : 簡單值,數組,對象,數組中對象 :style : 數組, 對象 v-for v-if v-show
自定義全局指令
Vue.derictive(自定義指令名字, 指令生效周期配置對象{ bind : (被綁定的那個元素的js原生對象el) => {}, ==> 一旦綁上馬上調用 inserted : (el同上) => {}, ==> 元素插入到DOM之后再調用 updated : (el同上, binding) => {} }
自定義局部指令
var vm2 = new Vue({ el: "#app2", data: {}, methods: {}, directives: { "fontweight": { bind: function (el, binding) { el.style.fontWeight = binding.value } }, } })
3.Vue事件修飾符
.stop .prevent .capture .self .once .self和.stop在阻止冒泡行為上的區別
4.Vue過濾器
全局過濾器的參數傳遞規則一樣;
如果全局過濾器和局部過濾器的名字相同,在組件內部使用過濾器時,優先使用自己的內部過濾器
全局過濾器
Vue.filter("自定義過濾器名字" , function(第一參數來自于管道符 | 前的數據 , 后面的參數是該過濾器被調用時候傳遞過來的參數){}
局部過濾器
定義在Vue實例中的filter屬性中
var vm2 = new Vue({ el: "#app2", data: {}, methods: {}, filters: { dateFormat: function (dateStr, pattern = "") {} } }, })
5.Vue按鍵修飾符
按鍵修飾符像.self這樣的事件修飾符一樣,是用在v-on事件后面的。
.enter .tab .up .down .left .right .delete .esc .space
自定義全局按鍵修飾符
Vue.config.keyCodes.自定義按鍵修飾符名字 = 按鍵的碼值
6.Vue組件生命周期
beforeCreated(){} ==> data和methods中數據還沒初始化好 created(){} ==> data和methods中的數據已經初始化好 beforeMount(){} ==> 模板已經在內存中編譯好了,但是沒有被渲染到頁面上 mounted(){} ==> 內存中的模板已經渲染到了頁面行,用戶可以看到頁面了 beforeUpdate (){} ==> data中的數據已經更新,但是界面上的數據沒有更新 updated (){} ==> 界面上數據更新結束 beforeDestory (){} ==> 此時data和methods中數據還可以使用 destoryed (){} ==> data和methods中數據都不能使用了,Vnode被完全銷毀
7.Vue-resource
類似于axios,但是依賴于Vue.js. 引入后自動給Vue實例添加上了$http屬性
$http.get() $http.post() $http.jsonp() 均返回一個promise this.$http.get("http://vue.studyit.io/api/getlunbo").then(function (result) { console.log(result.body) })
8.Vue動畫
類名
v-enter v-enter-active v-enter-to v-leave v-leave-active v-leave-to
使用第三方類名
這是一個H3
動畫的鉤子函數
beforeEnter (要執行動畫的那個對象的原生DOM對象el) {} ==> 動畫入場之前,設置動畫的起始樣式 enter (el , done) {done()} ==> 動畫開始后樣式,設置動畫結束樣式 afterEnter () {} ==> 動畫完全結束回調
9.Vue創建組件
(1)組件模板對象創建
方式1: Vue.extend({ template : "" }) 方式2: 直接一個 Object
(2)注冊全局組件
Vue.component(自定義組件名字, 組件模板)
(3)組件data和Vue實例data區別
組件data必須return object
10.組件切換和動畫
組件切換
comName是變量
組件切換時的動畫
11.組件父子間傳值
父組件傳值給子組件
傳單純值:傳函數 this.$emit("func", this.sonmsg)
子組件給父組件傳值
通過父組件傳入函數的參數
$refs
12.Vue路由
和Vue-resource一樣,需要引進一個vue-router.js文件
let routeObj = new VueRouter({ routes : [ {path : "" , redrect : "" , component : null} ] }) var vm = new Vue({ el: "#app", router: routerObj });
路由參數
login routes: [ { path: "/login/:id/:name", component: login , children : [{path , redrect , component , children}] }, ] $route.params.id
一個路由對應多個組件
var router = new VueRouter({ routes: [ { path: "/", components: { "default": header, "left": leftBox, "main": mainBox } } ] })
13.watch監視data中數據變化或者路由變化
var vm = new Vue({ el: "#app", data: {firstname: "",}, watch: { // 使用這個 屬性,可以監視 data 中指定數據的變化,然后觸發這個 watch 中對應的 function 處理函數 "firstname": function (newVal, oldVal) { this.fullname = newVal + "-" + this.lastname }, "$route.path": function (newVal, oldVal) { ==> 只需要這是一個變量 if (newVal === "/login") { console.log("歡迎進入登錄頁面") } else if (newVal === "/register") { console.log("歡迎進入注冊頁面") } } } });
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101871.html
摘要:之前寫文章的時候,我說過很多學習的方式和建議。今天換一下,說一下我個人不建議的學習方式,或者我個人覺得是妨礙進步的學習方式,希望大家引以為鑒如果大家有什么補充和指點的,歡迎指出。 1.前言 從事web前端的人很多,每個人的學習方式,學習習慣基本不會一模一樣!關于web前端(或者直接互聯網),大家都知道,是做到老,學到老的一個行業。之前寫文章的時候,我說過很多學習的方式和建議。今天換一下...
摘要:相當于可以編輯問卷并提供問卷展示,數據統計的這么一個平臺。極大的節省了需要進行表單樣式修改的時間,同時,讓動態渲染表單成為一件可能且容易的事情。表單動態渲染剛好在項目之前,有過一次動態配置表單的嘗試通過字段自動生成表單及驗證。 近幾天來了個緊急項目,想要做一個內部版本的問卷星。相當于可以編輯問卷并提供問卷展示,數據統計的這么一個平臺。整個項目耗時不長,本著積淀和積累的原則,將過程中的...
摘要:建議,每個欄目下放一個空列表組件,將空組件放在下拉刷新組件里面。下拉刷新請求兩次。請求結束后必須把下拉刷新綁定的置為,要不然又會多請求一次魅族手機按鍵返回桌面,再重新回到后列表上下劃不動。魅族的返回鍵問題,在換用列表插件后得到解決。 Vant ui + Vue.js 部分組件實踐 功能需求是實現一個移動端的欄目列表切換,于此同時列表需要進行下拉刷新,上拉加載 如下圖,大概是一個這樣...
閱讀 2857·2023-04-26 02:49
閱讀 3441·2021-11-25 09:43
閱讀 3367·2021-10-09 09:43
閱讀 2985·2021-09-28 09:44
閱讀 2446·2021-09-22 15:29
閱讀 4506·2021-09-14 18:02
閱讀 2773·2021-09-03 10:48
閱讀 3426·2019-08-30 12:47