最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

vue19 組建 Vue.extend component、組件模版、動態(tài)組件 的實例代碼

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 21:59:08
文檔

vue19 組建 Vue.extend component、組件模版、動態(tài)組件 的實例代碼

vue19 組建 Vue.extend component、組件模版、動態(tài)組件 的實例代碼:具體代碼如下所示: <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <title>Document</title> <script src=bower_components/vue/dis
推薦度:
導讀vue19 組建 Vue.extend component、組件模版、動態(tài)組件 的實例代碼:具體代碼如下所示: <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <title>Document</title> <script src=bower_components/vue/dis

具體代碼如下所示:

<!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語法,函數(shù)不寫:,組件里面放數(shù)據(jù): data必須是函數(shù)的形式,函數(shù)必須返回一個對象(json)
 return {
 msg:'ddddd'
 }
 }
 });


 var vm=new Vue({
 el:'#box',
 data:{
 bSign:true
 },
 components:{ //局部組件,放到某個組件內(nèi)部,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>動態(tài)組件</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> <!-- 動態(tài)組件-->
 </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動態(tài)組件

 動態(tài)組件

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

is的屬性值決定要顯示的組件,所以將is的屬性值設(shè)置為data中的值,以便于動態(tài)變化

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

總結(jié)

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

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

vue19 組建 Vue.extend component、組件模版、動態(tài)組件 的實例代碼

vue19 組建 Vue.extend component、組件模版、動態(tài)組件 的實例代碼:具體代碼如下所示: <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <title>Document</title> <script src=bower_components/vue/dis
推薦度:
標簽: VUE 動態(tài) 19
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top