av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Vue的Options用法說明

瀏覽:108日期:2022-12-06 16:29:27

el:掛載點

與$mount有替換關系

new Vue({ el: '#app'});new Vue({}).$mount(’#app’)

注:被你選為掛載點的那個元素,如果在index.html里那個元素里面本來就有內容,在渲染時會消失(網速慢可以看到),被這個vue實例的對應內容所覆蓋。

data:內部數據

支持對象和函數,優先用函數

new Vue({ //優先使用函數 data() { return { n: 0, } }}).$mount('#app');

注:能寫函數盡量寫函數,否則有可能有BUG;

methods:方法

事件處理函數

new Vue({ data (){ return{ n:0 } }, template:` <div class='red'> {{n}} <button @click='add'>+1</button> </div> `, //add必須寫到methods里面 methods:{ add(){ this.n+=1 } }}).$mount(’#app’)

普通函數:methods代替filter

import Vue from 'vue';Vue.config.productionTip = false;new Vue({ data() { return { n: 0, array: [1, 2, 3, 4, 5, 6, 7, 8] }; }, template: ` <div class=red> {{n}} <button @click='add'>+1</button> //事件處理函數 <hr> {{filter()}} //普通函數(JS的filter直接在視圖里調用,每一次更新渲染都會調用一次) </div> `,//主動在模板里面調用 methods: { add() { this.n += 1; //事件處理函數 }, filter() { return this.array.filter(i => i % 2 === 0); //普通函數 } }}).$mount('#app');

components:方法

使用Vue組件,注意大小寫

(建議用法) 模塊化:

新建一個vue文件Demo.vue,這個vue文件就是一個組件

在main.js中引入這個vue文件

在vue實例的components中聲明這是我要用的組件,并且命名為Demo

這樣在這個Vue實例的template中就可以直接使用這個組件<Demo/>

import Vue from 'vue';import Demo from './Demo.vue'; //引入這個vue文件 ---文件名最好小寫 組件名最好大寫Vue.config.productionTip = false;new Vue({ components: { Demo //在vue實例的components中聲明這是我要用的組件,并且命名為Demo //如果組件名就叫Demo,即Demo:Demo,那就寫Demo --ES6縮寫 //components: {Demo}, }, data() { return { n: 0 }; }, template: ` <div class=red> {{n}} <button @click='add'>+1</button> <Demo/> //這樣在這個Vue實例的template中就可以直接使用這個組件`<Demo/>` </div> `, methods: { add() { this.n += 1; }, }}).$mount('#app');

四個鉤子

created -- 實例出現在內存中后觸發created(){ debugger console.log(’這玩意出現在內存中’) },

mounted-- 實例出現在頁面中(掛載了)后觸發

mounted(){ debugger console.log(’這玩意兒已出現在頁面中’) },

updated -- 實例更新了后觸發

updated(){ console.log(’更新了’) console.log(this.n) }, //當你+1的時候,能證明他在更新的時候觸發,還可以拿到最新的n

destroyed -- 實例從頁面和內存中消亡了后觸發

props:外部屬性

外部來傳值

message='n'傳入字符串

:message='n'傳入vue實例的this.n數據

:fn='add'傳入vue實例的this.add函數

示例

補充知識:vue $options初始化

vue實例化時,對$options進行初始化

vue/src/core/instance/init.js

Vue.prototype._init = function (options?: Object) { const vm: Component = this // a uid vm._uid = uid++ let startTag, endTag /* istanbul ignore if */ if (process.env.NODE_ENV !== ’production’ && config.performance && mark) { startTag = `vue-perf-start:${vm._uid}` endTag = `vue-perf-end:${vm._uid}` mark(startTag) } // a flag to avoid this being observed vm._isVue = true // merge options if (options && options._isComponent) { // optimize internal component instantiation // since dynamic options merging is pretty slow, and none of the // internal component options needs special treatment. initInternalComponent(vm, options) } else { //初始化$options vm.$options = mergeOptions( resolveConstructorOptions(vm.constructor), options || {}, vm ) } /* istanbul ignore else */ if (process.env.NODE_ENV !== ’production’) { initProxy(vm) } else { vm._renderProxy = vm } }}

以上這篇Vue的Options用法說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 91色综合 | 日韩中文字幕在线播放 | 超碰电影 | 黄色一级毛片 | 免费在线观看成人 | 日本小视频网站 | 久久精彩 | 台湾av在线 | 久久国产美女视频 | 色综合天天天天做夜夜夜夜做 | 中文天堂在线一区 | 涩涩视频在线观看免费 | 成人永久免费视频 | 一区二区三区四区国产 | 香蕉超碰 | 91婷婷韩国欧美一区二区 | 久热精品在线观看视频 | 美女131mm久久爽爽免费 | 亚洲欧美在线视频 | 国产成人精品免高潮在线观看 | 一区二区三区视频在线免费观看 | 午夜国产 | 天堂资源视频 | 色偷偷888欧美精品久久久 | 国产精品久久久亚洲 | 精品国产欧美一区二区 | 国产激情免费视频 | 日韩精品久久久久久 | 日韩成人免费视频 | 羞羞视频网站免费看 | 天堂色| 成人av免费网站 | 亚洲精品性视频 | 伊人色综合久久久天天蜜桃 | 久视频在线观看 | 久久九七| 欧美1区2区 | 欧美一区二区三区的 | 欧美三级视频在线观看 | 精国产品一区二区三区四季综 | 国产日韩欧美激情 |