日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

组件

發(fā)布時間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 组件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.組件的概念

1.組件
組件,是對數(shù)據(jù)和方法的簡單封裝。組件可以有自己的屬性和方法。屬性是組件數(shù)據(jù)的簡單訪問者。方法則是組件的一些簡單而可見的功能。
使用組件可以實現(xiàn)拖放式編程、快速的屬性處理以及真正的面向?qū)ο蟮脑O(shè)計。

2.vue中的組件
組件(Component)是 Vue.js 最強大的功能之一。
組件可以擴展 HTML 元素,封裝可重用的代碼。
組件系統(tǒng)讓我們可以用獨立可復用的小組件來構(gòu)建大型應(yīng)用,幾乎任意類型的應(yīng)用的界面都可以抽象為一個組件樹:

  • 組件化開發(fā),類似于模板化開發(fā),但是并不等同于模板化開發(fā)

  • 組件化開發(fā),包括頁面,樣式,行為(業(yè)務(wù)邏輯)
  • 模塊化開發(fā),只包括行為(業(yè)務(wù)邏輯)
  • vue中的組件分為全局注冊組件和局部注冊組件

  • 組件是特殊的實例
  • 組件選項和實例選項基本保持一致
  • 組件沒有el選項,有template選項

    template可以是一段html代碼,也可以直接指向頁面模板,類似于el選項

  • 組件的data選項必須是一個函數(shù),返回一個對象

  • 組件渲染時,數(shù)據(jù)會有作用域,如果自身沒有定義,則不會渲染(數(shù)據(jù)也可以由上級傳遞 - 組件之間的傳值)

二、全局注冊組件
使用vue提供的template標簽,創(chuàng)建模板,然后再注冊到組件
1.定義全局組件
2.注冊全局組件
3.使用全局組件

<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title></head><body><div id="app"><h1>{{title}}</h1><!-- 3. 使用全局組件 --><my-com></my-com></div></body><script src="vue.js" type="text/javascript" charset="utf-8"></script><!-- 1. 定義組件視圖模板--><template id="temp1"><div>這是全局組件 - {{name}}<button @click="fn">按鈕</button></div></template><script type="text/javascript">// 2. 注冊全局組件Vue.component("my-com",{template:"#temp1",data(){return {name:"張三"}},methods:{fn(){console.log(this.name)}}})var vm = new Vue({el:"#app",data:{title:"hello vue global component"}})</script> </html>

三、局部注冊組件

vue實例內(nèi)部選項

  • 定義組件視圖模板
  • 定義局部組件對象
  • 注冊局部組件
  • <!DOCTYPE html> <html><head><meta charset="utf-8"><title></title></head><body><div id="app"><h1>{{title}}</h1><!-- 4. 使用局部組件 --><say-hello></say-hello></div></body><script src="../vue.js" type="text/javascript" charset="utf-8"></script><!-- 1. 定義組件視圖模板--><template id="temp1"><div>這是局部組件 - {{name}}<button @click="fn">按鈕</button></div></template><script type="text/javascript">// 2. 定義局部組件對象var temp1 = {template:"#temp1",data(){return {name:"李四"}},methods:{fn(){console.log(this.name)}}}var vm = new Vue({el:"#app",data:{title:"hello vue global component"},components:{// 3.注冊局部組件sayHello:temp1}}) </script> </html> 注意: 誰注冊誰使用

    四、組件之間的關(guān)系

    1. 父子組件
    組件的嵌套
    1.創(chuàng)建父組件模板
    2.創(chuàng)建子組件模板
    3.定義子組件(在script)里面
    4.定義父組件(在script)里面
    5.注冊局部組件(父組件),誰注冊誰使用!(在new Vue實例里面)
    6.注冊局部組件(子組件),誰注冊誰使用!(在需要使用子組件的父組件里)
    7.使用父組件 (在body的vue容器里)
    8.使用子組件 (在需要使用子組件的父組件的模板里)
    使用組件時都是以名字命名的標簽形式

    <my-com></my-com> <child-com></child-com>

    例子:

    <body><div id="app">{{msg}}<!-- 7.使用父組件 --><my-com></my-com></div> </body> <script src="libs/vue.js"></script> <!-- 1.創(chuàng)建父組件模板 --> <template id="temp"><div><h1>{{msg}}</h1><!-- 8.使用子組件 --><child-com></child-com></div> </template> <!-- 2.創(chuàng)建子組件模板 --> <template id="child"><div><h2>{{msg}}</h2></div> </template><script>// 3.定義子組件const child = {template: "#child",data() {return {msg: "hello child-temp"}}}// 4.定義父組件const com = {template: "#temp",data() {return {msg: "helle temp 3"}},components: {// 6.注冊局部組件(子組件),誰注冊誰使用!"child-com": child}}const vm = new Vue({el: "#app",data: {msg: "hello vue"},components: {// 5.注冊局部組件(父組件),誰注冊誰使用!"my-com": com,}}) </script>

    其中父子組件之間的傳值是非常重要的知識部分
    父子組件如何傳值將在下一篇中詳細講解

    總結(jié)

    以上是生活随笔為你收集整理的组件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。