zoukankan      html  css  js  c++  java
  • 39.VUE学习--组件,子组件中data数据的使用,x-template模板的使用,改变for循环里的某条数据里的值

    多处引用相同组件时,操作data不会相互影响

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    	<title>vue</title>
    	<link rel="stylesheet" href="">
    	<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    	<!-- <script type="text/javascript" src="../js/vue.js"></script> -->
    
    </head>
    <body>
    <div id="hdcms">
    	<hd-news></hd-news> <!--引入模板 和new Vue()里的components里注册时的名字 hdNews 要一致-->
    	<hr>
    	<hd-news></hd-news>
    
    </div>
    <script type="text/x-template" id="hdNewstemplate">
    	<div>
    
    		<li v-for="(v,k) in news">
    			{{v.id}}=>{{v.title}}=>
    			<button @click='changeadd(v,k)'>加</button>
    			{{v.num}}
    			<!--减法操作方法三,直接操作当前的v.num-->
    			<button @click='v.num-=1'>减</button>
    
    			<!--删除的两种方法-->
    			<!--方法一:直接操作data里的news数据-->
    			<button @click="news.splice(k,1)">删除</button>
    			<!--方法二:调用方法操作data里的news数据-->
    			<button @click="del(k);">删除</button>
    		</li>
    	</div>
    </script>
    <script>
        var hdNews={
            //绑定id="hdNews" 的 x-template模板
            template:'#hdNewstemplate',
            data(){
                return {
                    news:[
                        {id:0,title:'tpshop',num:1},
                        {id:1,title:'hdcms',num:1}
                    ],
                }
            },
            methods:{
                del(k){
                    console.log(k);
                    this.news.splice(k,1)
                },
                changeadd(v,k){
                    //方法一:直接操作传过来的当前对象的里的num
    //                console.log(v.id+v.title);
                    v.num=v.num*1+1;
    
                    //方法二:用传过来的k找到data里对应的当前对象,操作它里面的num
    //				this.news[0].num+=1;
    
                },
    
            }
        };
        new Vue({
            el:'#hdcms',
            //绑定组件hdNews  hdNews:hdNews简写成hdNews
            components:{hdNews},
            data:{},
        });
    </script>
    </body>
    </html>
    

    效果:

  • 相关阅读:
    hdu5360 Hiking(水题)
    hdu5348 MZL's endless loop(欧拉回路)
    hdu5351 MZL's Border(规律题,java)
    hdu5347 MZL's chemistry(打表)
    hdu5344 MZL's xor(水题)
    hdu5338 ZZX and Permutations(贪心、线段树)
    hdu 5325 Crazy Bobo (树形dp)
    hdu5323 Solve this interesting problem(爆搜)
    hdu5322 Hope(dp)
    Lightoj1009 Back to Underworld(带权并查集)
  • 原文地址:https://www.cnblogs.com/haima/p/10265565.html
Copyright © 2011-2022 走看看