vue的options選項是什麼

2022-12-22 22:00:44

在vue中,options選項是指「構造選項」,是在建立Vue範例時傳入的引數,是一個物件,語法「const vm = new Vue(options)」。通過「new Vue(options)」來建立出一個Vue範例,也稱為Vue物件,該Vue範例封裝了操作元素檢視的所有操作,可通過Vue範例來輕鬆操作對應區域的檢視。

本教學操作環境:windows7系統、vue3版,DELL G3電腦。

Vue中options的作用

options是什麼

options
顧名思義就是「選項」的意思, 或稱為構造選項. 是在建立Vue範例時傳入的引數, 是一個物件.
const vm = new Vue(options)

  • 無論是jquery.js 還是 Vue.js, 都是在 js 的基礎上再次封裝對應的操作。如: 通過$(‘div’)獲得一個jQuery的div元素範例, 也稱為jQuery物件, jQuery物件包含了對選項中的div元素的各種操作API,因此jQuery範例封裝的是對選項中元素的各種操作;
  • 而Vue.js 在此基礎上更進一步, 封裝了對檢視的所有操作, 包括資料的讀寫、資料變化的監聽、DOM元素的更新等等, 通過 new Vue(options) 來建立出一個 Vue範例, 也稱為Vue物件, 該Vue範例封裝了操作元素檢視的所有操作, 可通過 Vue範例 來輕鬆操作對應區域的檢視;

options的五類屬性

  • 資料: data, props, propsData, computed, Watch;

  • DOM: el, template, render, renderError;

  • 宣告週期勾點: beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、activated、deactivated、beforeDestroy、destroyed、errorCaptured;

  • 資源: directives、filters、components;

  • 組合: parent、mixins、extends、provide、inject;

入門屬性

  • el(掛在點)
new Vue({
    el:"#app"
    template:`<div>我是小明</div>`
})
可以使用$mount代替
new Vue({
    template:`<div>我是小明</div>`
}).$mount("#app")
登入後複製
  • data(內部資料)支援物件和函數,優先使用函數
    • 會被Vue監聽
    • 會被Vue範例代理
    • 每次data的讀寫都會被Vue監聽
    • Vue會在data變化是更新UI
物件
new Vue({
    template:"<div>{{n}}</div>",
    data:{
        n:0
    }
}).$mount('#app')
函數
vue非完整版只支援函數
new Vue({
    template:"<div>{{n}}</div>",
    data(){
        return {
            m:5
        }
    }
})$mount('#app')
登入後複製
  • methods(方法)事件處理常式或者普通函數
new Vue({
    template:"<div>{{n}}{{ add()}} <button @click="add">按鈕</button></div>",
    data:{
        n:0
    },
    methods:{
        add(){
    	console.log('我可以是事件處理常式也可以是普通函數')
}
        }
}).$mount('#app')
登入後複製
  • components(vue元件:注意大小寫)三種方式
註冊全域性元件
Vue.component('Deon1', {
  template: "<h2>全域性元件</h2>"
})
註冊區域性元件
const deon2 = {
  template: "<h2>區域性元件 {{n}}</h2>",
   //在組建中data必須使用函數
  data() {
    return {
      n: "小明"
    }
  }
}
new Vue({
  components: {
    Deon2: deon2,
    Deon3:{
      template:"<h2>元件3</h3>"
  }
  },
  template: `
    <div>頁面
    <Deon1></Deon1>
    <Deon2></Deon2>
 	<Deon3></Deon3>
    </div> 
  `
}).$mount('#app')
登入後複製

使用vue檔案新增元件

deon4.vue檔案

<template>
  <div>我是deon.vue檔案{{ name }}</div>
</template>
<script>
export default {
  data() {
    name: "元件4";
  },
};
</script>
<style scoped>
div {
  border: 1px solid red;
}
</style>
登入後複製

main.js

import Deon4 from './deon4.vue'
Vue.component('Deon1', {
  template: "<h2>全域性元件</h2>"
})
const deon2 = {
  template: "<h2>區域性元件 {{n}}</h2>",
  //在組建中data必須使用函數
  data() {
    return {
      n: "小明"
    }
  }
}
new Vue({
  components: {
    Deon2: deon2,
    Deon3: {
      template: "<h2>元件3</h3>"
    },
    Deon4
  },
  template: `
    <div>頁面
    <Deon1></Deon1>
    <Deon2></Deon2>
    <Deon3></Deon3>
    <Deon4><Deon4>
    </div> 
  `
}).$mount('#app')
登入後複製
  • 常用的四個生命周勾點函數
    • created: 範例出現在記憶體中
    • mounted:範例出現在頁面中觸發
    • updated:範例出現了變化觸發
    • destroyed:範例被銷燬了觸發
new Vue({
    template:"<div>{{n}}</div>",
    data:{
        n:0
    },
     created() {
    console.log("範例出現在記憶體中了觸發");
  },
  mounted() {
    console.log("範例出現在頁面中觸發");
  },
  updated() {
    console.log("範例出現了變化觸發");
  },
  destroyed() {
    console.log("範例被銷燬了觸發");
  }
}).$mount('#app')
登入後複製
  • props(外部資料)父元件想子組傳值
    • name="n"(傳入字串)
    • :name="n"(傳入this.n資料)
    • :fn="add":(傳入this.add函數)
new Vue({
  components: {
    Deon1: {
      props: ["m"],
      template: "<div>{{m}}</div>"
    }
  },
  template: `<div><Deon1 :m="m"></Deon1></div>`,
  data: {
    m: 666
  }
}).$mount('#app')
登入後複製

【相關推薦:、】

以上就是vue的options選項是什麼的詳細內容,更多請關注TW511.COM其它相關文章!