成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

理清楚Vue的結(jié)構(gòu)

terro / 2639人閱讀

摘要:的使用場(chǎng)景在中通過(guò)引入在中,由于配置有處理各種文件的,所以可以用引入指令簡(jiǎn)單值,數(shù)組,對(duì)象,數(shù)組中對(duì)象數(shù)組,對(duì)象自定義全局指令自定義指令名字指令生效周期配置對(duì)象被綁定的那個(gè)元素的原生對(duì)象一旦綁上馬上調(diào)用同上元素插入到之后再

1.Vue的使用場(chǎng)景

* 在html中通過(guò)script引入
* 在webpack中,由于配置有處理各種文件的loader,所以可以用import引入

2.Vue指令

v-cloak
v-bind  ==> :
v-on ==> @
v-text
v-html
v-modal
:class : 簡(jiǎn)單值,數(shù)組,對(duì)象,數(shù)組中對(duì)象
:style : 數(shù)組, 對(duì)象
v-for
v-if
v-show

自定義全局指令

Vue.derictive(自定義指令名字, 指令生效周期配置對(duì)象{
    bind : (被綁定的那個(gè)元素的js原生對(duì)象el) => {},   ==> 一旦綁上馬上調(diào)用
    inserted : (el同上) => {},  ==> 元素插入到DOM之后再調(diào)用
    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在阻止冒泡行為上的區(qū)別

4.Vue過(guò)濾器
全局過(guò)濾器的參數(shù)傳遞規(guī)則一樣;
如果全局過(guò)濾器和局部過(guò)濾器的名字相同,在組件內(nèi)部使用過(guò)濾器時(shí),優(yōu)先使用自己的內(nèi)部過(guò)濾器

全局過(guò)濾器

Vue.filter("自定義過(guò)濾器名字" , function(第一參數(shù)來(lái)自于管道符 | 前的數(shù)據(jù) , 后面的參數(shù)是該過(guò)濾器被調(diào)用時(shí)候傳遞過(guò)來(lái)的參數(shù)){}

局部過(guò)濾器

定義在Vue實(shí)例中的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中數(shù)據(jù)還沒(méi)初始化好
created(){} ==> data和methods中的數(shù)據(jù)已經(jīng)初始化好
beforeMount(){} ==> 模板已經(jīng)在內(nèi)存中編譯好了,但是沒(méi)有被渲染到頁(yè)面上
mounted(){} ==> 內(nèi)存中的模板已經(jīng)渲染到了頁(yè)面行,用戶可以看到頁(yè)面了
beforeUpdate (){} ==> data中的數(shù)據(jù)已經(jīng)更新,但是界面上的數(shù)據(jù)沒(méi)有更新
updated (){} ==> 界面上數(shù)據(jù)更新結(jié)束
beforeDestory (){} ==> 此時(shí)data和methods中數(shù)據(jù)還可以使用
destoryed (){} ==> data和methods中數(shù)據(jù)都不能使用了,Vnode被完全銷毀

7.Vue-resource
類似于axios,但是依賴于Vue.js. 引入后自動(dòng)給Vue實(shí)例添加上了$http屬性

$http.get()
$http.post()
$http.jsonp()

均返回一個(gè)promise
this.$http.get("http://vue.studyit.io/api/getlunbo").then(function (result) {
  console.log(result.body)
})

8.Vue動(dòng)畫

類名

v-enter
v-enter-active
v-enter-to
v-leave
v-leave-active
v-leave-to

使用第三方類名


  

這是一個(gè)H3

動(dòng)畫的鉤子函數(shù)


  
beforeEnter (要執(zhí)行動(dòng)畫的那個(gè)對(duì)象的原生DOM對(duì)象el) {} ==> 動(dòng)畫入場(chǎng)之前,設(shè)置動(dòng)畫的起始樣式 enter (el , done) {done()} ==> 動(dòng)畫開始后樣式,設(shè)置動(dòng)畫結(jié)束樣式 afterEnter () {} ==> 動(dòng)畫完全結(jié)束回調(diào)

9.Vue創(chuàng)建組件

(1)組件模板對(duì)象創(chuàng)建

方式1:
Vue.extend({
    template : ""
})

方式2:
直接一個(gè) Object

(2)注冊(cè)全局組件

Vue.component(自定義組件名字, 組件模板)

(3)組件data和Vue實(shí)例data區(qū)別

組件data必須return object

10.組件切換和動(dòng)畫

組件切換


comName是變量

組件切換時(shí)的動(dòng)畫



  

11.組件父子間傳值

父組件傳值給子組件

傳單純值:


傳函數(shù)

this.$emit("func", this.sonmsg)

子組件給父組件傳值

通過(guò)父組件傳入函數(shù)的參數(shù)

$refs

12.Vue路由

和Vue-resource一樣,需要引進(jìn)一個(gè)vue-router.js文件

let routeObj = new VueRouter({  
    routes : [
        {path : "" , redrect : "" , component : null}
    ]
})

var vm = new Vue({
  el: "#app",
  router: routerObj
});

路由參數(shù)

login
routes: [
  { path: "/login/:id/:name", component: login , children : [{path , redrect , component , children}] },
]
$route.params.id

一個(gè)路由對(duì)應(yīng)多個(gè)組件


var router = new VueRouter({ routes: [ { path: "/", components: { "default": header, "left": leftBox, "main": mainBox } } ] })

13.watch監(jiān)視data中數(shù)據(jù)變化或者路由變化

var vm = new Vue({
  el: "#app",
  data: {firstname: "",},
  watch: { // 使用這個(gè) 屬性,可以監(jiān)視 data 中指定數(shù)據(jù)的變化,然后觸發(fā)這個(gè) watch 中對(duì)應(yīng)的 function 處理函數(shù)
    "firstname": function (newVal, oldVal) {
      this.fullname = newVal + "-" + this.lastname
    },
    "$route.path": function (newVal, oldVal) {   ==> 只需要這是一個(gè)變量
      if (newVal === "/login") {
        console.log("歡迎進(jìn)入登錄頁(yè)面")
      } else if (newVal === "/register") {
        console.log("歡迎進(jìn)入注冊(cè)頁(yè)面")
      }
    }
  }
});

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101871.html

相關(guān)文章

  • web前端--10個(gè)妨礙進(jìn)步學(xué)習(xí)方式

    摘要:之前寫文章的時(shí)候,我說(shuō)過(guò)很多學(xué)習(xí)的方式和建議。今天換一下,說(shuō)一下我個(gè)人不建議的學(xué)習(xí)方式,或者我個(gè)人覺(jué)得是妨礙進(jìn)步的學(xué)習(xí)方式,希望大家引以為鑒如果大家有什么補(bǔ)充和指點(diǎn)的,歡迎指出。 1.前言 從事web前端的人很多,每個(gè)人的學(xué)習(xí)方式,學(xué)習(xí)習(xí)慣基本不會(huì)一模一樣!關(guān)于web前端(或者直接互聯(lián)網(wǎng)),大家都知道,是做到老,學(xué)到老的一個(gè)行業(yè)。之前寫文章的時(shí)候,我說(shuō)過(guò)很多學(xué)習(xí)的方式和建議。今天換一下...

    liuchengxu 評(píng)論0 收藏0
  • 使用Vue渲染可配置表單--記一次問(wèn)卷平臺(tái)項(xiàng)目

    摘要:相當(dāng)于可以編輯問(wèn)卷并提供問(wèn)卷展示,數(shù)據(jù)統(tǒng)計(jì)的這么一個(gè)平臺(tái)。極大的節(jié)省了需要進(jìn)行表單樣式修改的時(shí)間,同時(shí),讓動(dòng)態(tài)渲染表單成為一件可能且容易的事情。表單動(dòng)態(tài)渲染剛好在項(xiàng)目之前,有過(guò)一次動(dòng)態(tài)配置表單的嘗試通過(guò)字段自動(dòng)生成表單及驗(yàn)證。 近幾天來(lái)了個(gè)緊急項(xiàng)目,想要做一個(gè)內(nèi)部版本的問(wèn)卷星。相當(dāng)于可以編輯問(wèn)卷并提供問(wèn)卷展示,數(shù)據(jù)統(tǒng)計(jì)的這么一個(gè)平臺(tái)。整個(gè)項(xiàng)目耗時(shí)不長(zhǎng),本著積淀和積累的原則,將過(guò)程中的...

    mcterry 評(píng)論0 收藏0
  • 有贊vant-ui Tabs、List、PullRefresh組件實(shí)踐

    摘要:建議,每個(gè)欄目下放一個(gè)空列表組件,將空組件放在下拉刷新組件里面。下拉刷新請(qǐng)求兩次。請(qǐng)求結(jié)束后必須把下拉刷新綁定的置為,要不然又會(huì)多請(qǐng)求一次魅族手機(jī)按鍵返回桌面,再重新回到后列表上下劃不動(dòng)。魅族的返回鍵問(wèn)題,在換用列表插件后得到解決。 Vant ui + Vue.js 部分組件實(shí)踐 功能需求是實(shí)現(xiàn)一個(gè)移動(dòng)端的欄目列表切換,于此同時(shí)列表需要進(jìn)行下拉刷新,上拉加載 如下圖,大概是一個(gè)這樣...

    habren 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<