vue属性与方法
- 计算属性
- v-model指令——表单的实现
- 样式绑定
代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://unpkg.com/vue@3/dist/vue.global.js"></script><!-- 5.3 样式绑定 --><style>.green{color: green;}.red{color: red;}.active{background-color: antiquewhite;color: #2154ae;}.align{text-align: right;}</style>
</head>
<body><div style="border: 1px solid #949494;padding: 20px;margin-top: 10px;"><h2>5.1 计算属性</h2><!-- 当一个属性需要通过计算得到时可以使用计算属性 --><!-- 一个值改变影响多个值,就采用监听属性,而多个值改变影响一个值就可以采用计算属性 --><div id="app1"><p>我是:{{name}}</p><p>我是:{{firstName + lastName}}</p><p>我是:{{name1}}</p><hr><p>价格:{{price}}</p><p>数量:<button @click="sub">-</button><span>{{quatity}}</span><button @click="add">+</button></p><p>折扣:{{discount}}</p><p>总价:{{totalPrice}}</p></div><script>const sx = {data(){return{name: '不蒸馒头曾口气',firstName: '不蒸馒头',lastName: '曾口气',price: 100,quatity: 0,discount: 0.5,totalPrice: 0}},computed: {name1(){return this.firstName + this.lastName;},// totalPrice(){// return this.price * this.quatity * this.discount;// }},methods: {sub(){this.quatity--},add(){this.quatity++}},watch: {quatity(val){this.totalPrice = this.price * this.quatity * this.discount}}}Vue.createApp(sx).mount('#app1')</script></div><div style="border: 1px solid #949494;padding: 20px;margin-top: 10px;"><h2>5.2 v-model指令————表单的实现</h2><div id="app2"><form action=""><div><label for="">用户名:</label><input type="text" v-model="formdata.username"></div><div><label for="">密码:</label><input type="password" v-model="formdata.password"></div><div><label for="">爱好:</label><select v-model="formdata.hobby"><option value="basketball">篮球</option><option value="football">足球</option><option value="pingpong">乒乓球</option></select></div><div><label for="">性别:</label><label for="">男</label><input type="radio" value="男" v-model="formdata.sex"><label for="">女</label><input type="radio" value="女" v-model="formdata.sex"></div><div><label for="">特长:</label><label for="">计算机</label><input type="checkbox" v-model="formdata.forte"><label for="">唱歌</label><input type="checkbox" v-model="formdata.forte"></div><button>提交表单</button></form></div><script>const bd = {data(){return{formdata:{username: "",password: "",hobby: "",sex: "",forte: []}}}}Vue.createApp(bd).mount('#app2')</script></div><div style="border: 1px solid #949494;padding: 20px;margin-top: 10px;"><h2>5.3 样式绑定</h2><div id="app3"><p :class="c1" @click='c1="red"'>青青草原</p><p :class="{active:ac,align:ac}" @click="ac=!ac">对象语法绑定,样式绑定的是一组对象</p></div><script>let ysbd ={data(){return{c1: 'green',ac: false,}}}Vue.createApp(ysbd).mount("#app3")</script></div></body>
</html>
效果图