国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue19 組建 Vue.extend component、組件模版、動態組件 的實例代碼

2019-11-19 11:52:59
字體:
來源:轉載
供稿:網友

具體代碼如下所示:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">  </div>  <script>    var Aaa=Vue.extend({//繼承出來一個Vue類Aaa      template:'<h3>我是標題3</h3>'    });    var a=new Aaa();//a跟vm一樣    console.log(a);    var vm=new Vue({      el:'#box',      data:{        bSign:true      }    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <aaa></aaa>  </div>  <script>    var Aaa=Vue.extend({      template:'<h3>我是標題3</h3>'    });    Vue.component('aaa',Aaa);//aaa是組建實例,全局組件    var vm=new Vue({      el:'#box',      data:{        bSign:true      }    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <aaa></aaa>  </div>  <script>    var Aaa=Vue.extend({      data(){        return {          msg:'我是標題^^'        };      },      template:'<h3>{{msg}}</h3>'    });    Vue.component('aaa',Aaa);    var vm=new Vue({      el:'#box',      data:{        bSign:true      }    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <aaa></aaa>  </div>  <script>    var Aaa=Vue.extend({      data(){        return {          msg:'我是標題^^'        };      },      methods:{        change(){          this.msg='changed'        }      },      template:'<h3 @click="change">{{msg}}</h3>'    });    Vue.component('aaa',Aaa);    var vm=new Vue({      el:'#box',      data:{        bSign:true      }    });  </script></body></html>


<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <aaa></aaa>  </div>  <script>    var Aaa=Vue.extend({      template:'<h3>{{msg}}</h3>',      data(){// es6語法,函數不寫:,組件里面放數據: data必須是函數的形式,函數必須返回一個對象(json)        return {          msg:'ddddd'        }      }    });    var vm=new Vue({      el:'#box',      data:{        bSign:true      },      components:{ //局部組件,放到某個組件內部,Vue.component('aaa',Aaa);        aaa:Aaa      }    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <my-aaa></my-aaa>  </div>  <script>    var Aaa=Vue.extend({      template:'<h3>{{msg}}</h3>',      data(){        return {          msg:'ddddd'        }      }    });    var vm=new Vue({      el:'#box',      data:{        bSign:true      },      components:{ //局部組件        'my-aaa':Aaa      }    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <my-aaa></my-aaa>  </div>  <script>    Vue.component('my-aaa',{//全局,公共的提出去      template:'<strong>好</strong>'    });    var vm=new Vue({      el:'#box'    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <my-aaa></my-aaa>  </div>  <script>    var vm=new Vue({      el:'#box',      components:{ //局部        'my-aaa':{          data(){            return {              msg:'welcome vue'            }          },          methods:{            change(){              this.msg='changed';            }          },          template:'<h2 @click="change">標題2->{{msg}}</h2>'        }      }    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <my-aaa></my-aaa>  </div>  <template id="aaa">    <h1>標題1</h1>    <ul>      <li v-for="val in arr">        {{val}}      </li>    </ul>  </template>  <script>    var vm=new Vue({      el:'#box',      components:{        'my-aaa':{          data(){            return {              msg:'welcome vue',              arr:['apple','banana','orange']            }          },          methods:{            change(){              this.msg='changed';            }          },          template:'#aaa'        }      }    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Document</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <my-aaa></my-aaa>  </div>  <script type="x-template" id="aaa">    <h2 @click="change">標題2->{{msg}}</h2>    <ul>      <li>1111</li>      <li>222</li>      <li>3333</li>      <li>1111</li>    </ul>  </script>  <script>    var vm=new Vue({      el:'#box',      components:{        'my-aaa':{          data(){            return {              msg:'welcome vue'            }          },          methods:{            change(){              this.msg='changed';            }          },          template:'#aaa'        }      }    });  </script></body></html>
<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>動態組件</title>  <script src="bower_components/vue/dist/vue.js"></script>  <style>  </style></head><body>  <div id="box">    <input type="button" @click="a='aaa'" value="aaa組件">    <input type="button" @click="a='bbb'" value="bbb組件">    <component :is="a"></component> <!-- 動態組件-->  </div>  <script>    var vm=new Vue({      el:'#box',      data:{        a:'aaa'      },      components:{        'aaa':{          template:'<h2>我是aaa組件</h2>'        },        'bbb':{          template:'<h2>我是bbb組件</h2>'        }      }    });  </script></body></html>

下面看下vue component動態組件

 動態組件

通過component標簽 的is屬性來進行組件的切換

is的屬性值決定要顯示的組件,所以將is的屬性值設置為data中的值,以便于動態變化

<template>  <div class="app">      <component :is="組件名稱">       </component>  </div></template>

總結

以上所述是小編給大家介紹的vue19 組建 Vue.extend component、組件模版、動態組件 的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黎城县| 望江县| 南投县| 台北县| 长兴县| 金寨县| 海原县| 张家港市| 勐海县| 浑源县| 舒兰市| 万安县| 汝南县| 津市市| 全南县| 靖州| 元氏县| 德保县| 合川市| 金堂县| 抚顺市| 元谋县| 航空| 连云港市| 宜都市| 临沧市| 盖州市| 万年县| 固始县| 安岳县| 贵州省| 韶山市| 阳朔县| 镇安县| 永昌县| 平湖市| 永泰县| 铜山县| 延长县| 旬邑县| 延长县|