day77 作业

一、完成todolist案例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>todolist</title>
    <script src="/vue/vue.js"></script>
	<style type="text/css">
		.list_con{
			600px;
			margin:50px auto 0;
		}
		.inputtxt{
			550px;
			height:30px;
			border:1px solid #ccc;
			padding:0px;
			text-indent:10px;
		}
		.inputbtn{
			40px;
			height:32px;
			padding:0px;
			border:1px solid #ccc;
		}
		.list{
			margin:0;
			padding:0;
			list-style:none;
			margin-top:20px;
		}
		.list li{
			height:40px;
			line-height:40px;
			border-bottom:1px solid #ccc;
		}

		.list li span{
			float:left;
		}

		.list li a{
			float:right;
			text-decoration:none;
			margin:0 10px;
		}
        .jishu{
            background-color: blue;
        }
        .oushu{
            background-color: orange;
        }
	</style>

</head>
<body>
	<div class="list_con">
		<h2>To do list</h2>
		<input type="text" v-model="msg" id="txt1" class="inputtxt">
		<input type="button" @click="add" value="增加" id="btn1" class="inputbtn">

		<ul id="list" class="list">
<!--			&lt;!&ndash; javascript:; # 阻止a标签跳转 &ndash;&gt;-->
<!--			<li>-->
<!--				<span>学习html</span>-->
<!--				<a href="javascript:;" class="up"> ↑ </a>-->
<!--				<a href="javascript:;" class="down"> ↓ </a>-->
<!--				<a href="javascript:;" class="del">删除</a>-->
<!--			</li>-->
<!--			<li><span>学习css</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>-->
<!--			<li><span>学习javascript</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>-->
            <li v-for="li,index in li_list" :class="index%2==0?'jishu':'oushu'">
                <span>{{li}}</span>
                <a @click="up(index)" >↑</a>
                <a @click="down(index)">↓</a>
                <a @click="del(index)">删除</a>
            </li>
		</ul>
	</div>

    <script>
        let vm = new Vue({
            el:'.list_con',
            data:{
                msg:'',
                li_list : ['学习html','学习css','学习python']
            },
            methods:{
                add(){
                    if(this.msg==""){
                        return false;
                    }
                    this.li_list.push(this.msg);
                    this.msg='';
                },
                up(index){
                    if(index==0){
                        return false;
                    }
                    // 这里删除得到的是一个数组,因为可能删除多个
                    let message = this.li_list.splice(index,1)
                    this.li_list.splice(index-1,0,message[0])
                },
                down(index){
                    if(index==this.li_list.length){
                        return false;
                    }
                    let message = this.li_list.splice(index,1)
                    this.li_list.splice(index+1,0,message[0])
                },
                del(index){
                    this.li_list.splice(index,1)
                }
            }
        })
    </script>
</body>
</html>

二、商品页面

完成商品的增删改,取消添加或修改的话原本input框里的值也要清除

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <script src="/vue/vue.js"></script>
</head>
<style>
    .box{
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        background-color:lightblue;
         400px;
        height: 320px;
        padding: 40px 80px;
    }
    .display{
        display: none;
    }
</style>
<body>
<div id="app">



<table class="table table-hover">
    <thead>
        <tr>
            <th>id</th>
            <th>名称</th>
            <th>数量</th>
            <th>价格</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>
        <tr v-for="good,ind in goods_list">
            <td>{{ind+1}}</td>
            <td>{{good.name}}</td>
            <td>{{good.price}}</td>
            <td>{{good.count}}</td>
            <td><button class="btn btn-success" @click="type=false,index=ind">编辑</button>
                <button class="btn btn-danger" @click="del(index)">删除</button></td>
        </tr>
    </tbody>

</table>
<button class="btn btn-info" @click="type=false">添加商品</button>
<div :class="{box:true,display:type}">
        商品标题: <input type="text" v-model="name"><br><br>
        商品价格: <input type="text" v-model="price"><br><br>
        商品数量: <input type="text" v-model="count"><br><br>
        <button @click="add">保存</button>
        <button @click="clear(),type=true">取消</button>
</div>
</div>
<script>
    let vm = new Vue({
        el:'#app',
        data:{
            type:true,
            index:'',
            name:'',
            price:'',
            count:'',
            goods_list:[
                {'name':'python入门','price':20,'count':10},
                {'name':'python进阶','price':22,'count':33},
                {'name':'python入土','price':123123,'count':1213},
            ]
        },
        methods:{
            del(index){
                this.goods_list.splice(index,1)
            },
            add(){
                console.log(this.index)
                if(this.index == ''){
                    // 如果index是空则是追加,非空为修改

                    this.goods_list.push({'name':this.name,'price':this.price,'count':this.count})
                }else {
                    this.goods_list.splice(this.index,1)
                    this.goods_list.splice(this.index,0,{'name':this.name,'price':this.price,'count':this.count})
                }
                this.index=''
                this.name=''
                this.price=''
                this.count=''
                console.log(this.index)
            },
            clear(){
                console.log(123)
                this.index=''
                this.name=''
                this.price=''
                this.count=''
            }
        }
    })
</script>
</body>
</html>
原文地址:https://www.cnblogs.com/hz2lxt/p/13154637.html