批改状态:合格
老师批语:
对象里的变量用{{}}插入,且可以进行运算及逻辑等操作,但是一般里面要尽量简介,非必要的情况下逻辑跟运算不往这里面写,逻辑跟运算都写在 module 里
常用指令
<div v-pre>{{msg}}</div>输出就是{{msg}}
<div v-text="msg"></div>
就等同于
<div>{{ msg }}</div>
v-bind:绑定属性
v-bind:可以给标签内的属性绑定变量或方法,可以简写为:,如
<div v-bind:class="msg"></div>
就等同于
<div :class="msg"></div>
就好比:
let a = 10;let b = 20;// get就是function sum() {return a + b;}console.log(sum());// set就是function add(sum) {a = sum * 0.5;b = sum * 0.5;return [a, b];}console.log(add(30)[0], add(30)[1]);
v-for="(item,index,num) in arr" :key="item.id"item:值,index:下标,num 数字索引,:key 必加,这里面的值是什么无所谓,但是必须是一个唯一值实现原理,给 value 绑定一个值,然后使用@input 事件获取当前对象,拿到对应的值
<input type="text" name="111" id="222" :value="msg" @input="getValue($event)"
.lazy 懒加载修饰符
<template><div><!-- v-if双条件判断如果books里没有内容提示购物车为空,否则显示table表单 --><div v-if="books.length <= 0">购物车空空如也,快去选购商品吧~</div><table v-else><caption>购物车</caption><thead><tr><th></th><th>编号</th><th>商品名称</th><th>价格</th><th>购买数量</th><th>操作</th></tr></thead><tbody><!-- v-for得加在tr里,v-for这层也会循环 --><tr v-for="(items, index) in books" :key="index"><td><!-- 给每个input绑定v-model的true属性,使其默认选中 --><input type="checkbox" v-model="items.check" id="cart" /></td><!-- 索引是从0开始的 索引+1,让编号从1开始 --><td>{{ index + 1 }}</td><!-- 书名 --><td>{{ items.name }}</td><!-- toFixed(num)将一个数值转为小数点后多少为的小数值 --><td><small>¥</small>{{ items.price.toFixed(2) }}</td><td><!-- 给减号按钮加click事件,点击后数量-1,并给disabled加一个条件判断,如果小于等于1减号失效 --><button @click="items.count--" :disabled="items.count <= 1">-</button><!-- 数量 --><span>{{ items.count }}</span><!-- 给加号按钮加click事件,点击后数量+1,并给disabled加一个条件判断,如果大于等于10加号失效 --><button @click="items.count++" :disabled="items.count >= 10">+</button></td><td><!-- 将a标签原有事件删除,并定义一个点击事件,点击删除某项 --><a href="" @click.prevent.stop="del(index)">删除</a></td></tr></tbody><tfoot><tr><td colspan="3">总价</td><!-- 总价 --><td colspan="3"><small>¥</small>{{ sum }}</td></tr></tfoot></table></div></template><script>export default {data() {return {// 初始默认books的数组books: [{ id: 1, check: true, name: "《细说 PHP》", price: 10, count: 1 },{ id: 2, check: true, name: "《细说网页制作》", price: 10, count: 1 },{ id: 3, check: true, name: "《细说 JavaScript 语言》", price: 10, count: 1 },{ id: 4, check: true, name: "《细说 DOM 和 BOM》", price: 10, count: 1 },{ id: 5, check: true, name: "《细说 Ajax 与 jQuery》", price: 10, count: 1 },{ id: 6, check: true, name: "《细说 HTML5 高级 API》", price: 10, count: 1 },],disabled: true,};},computed: {// 求和运算sum() {let total = 0;for (let i = 0; i < this.books.length; i++) {// 判断是否选中,选中的才被计算if (this.books[i].check) {// 循环累加total += this.books[i].price * this.books[i].count;}}// 返回总数return total;},},methods: {// 删除方法,传入index索引参数del(index) {// 找到索引位置,删除一位this.books.splice(index, 1);},},};</script><style lang="scss">table {border-collapse: collapse;}th,td {border: 1px solid;min-width: 30px;padding: 6px;text-align: center;}span {padding: 4px;}</style>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号