国产探花免费观看_亚洲丰满少妇自慰呻吟_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、組件模版、動態組件 的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克| 买车| 安仁县| 通海县| 台南县| 大港区| 神池县| 临邑县| 舟山市| 旬阳县| 民县| 永登县| 定远县| 康定县| 仁寿县| 武清区| 梅河口市| 汶川县| 泾阳县| 门源| 隆子县| 喀喇| 佛山市| 巨野县| 武强县| 海丰县| 舟山市| 白银市| 贵州省| 河津市| 呈贡县| 利辛县| 夏津县| 柳州市| 白河县| 桂林市| 北京市| 岳阳县| 海晏县| 慈利县| 定日县|