搜索
博主信息
博文 40
粉丝 0
评论 1
访问量 31326
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
第24章 0118-vue常用指令介绍,学习心得、笔记(实例演示条件渲染, 计算属性和侦听器,并比较计算属性与侦听器之间的区别)
努力工作--周工--Robin
原创
643人浏览过

今天所学心得、笔记

1、条件渲染

  1. <div class="app">
  2. <p>您的充值金额是:{{money}}</p>
  3. <!-- v-if, v-else-if多分支 -->
  4. <!-- <p v-if="money > 1000">{{grade[0]}}</p>-->
  5. <p v-if="money >= 1000 && money < 2000">{{grade[0]}}</p>
  6. <p v-else-if="money >= 2001 && money < 3000">{{grade[1]}}</p>
  7. <p v-else-if="money >= 3001 && money < 4000">{{grade[2]}}</p>
  8. <p v-else-if="money >= 4001 && money < 5000">{{grade[3]}}</p>
  9. <p v-else-if="money > 5000">{{grade[4]}}</p>
  10. <p v-else>{{grade[5]}}</p>
  11. <button
  12. @click="status = !status"
  13. v-text="status ? `月初发工资了...` : `月底又没钱了...`"
  14. ></button>
  15. <!-- v-show: -->
  16. <p v-show="status">{{msg}}</p>
  17. </div>
  18. <script src="vue.js"></script>
  19. <script>
  20. const vm = new Vue({
  21. el: '.app',
  22. data() {
  23. return {
  24. tips: "月初发工资了...",
  25. money: 5001,
  26. msg: "明天请大家吃饭...",
  27. status: true,
  28. grade: [
  29. "普通会员",
  30. "超级会员",
  31. "白金会员",
  32. "终身会员",
  33. "王者会员",
  34. "您还不是会员,请充值...",
  35. ],
  36. }
  37. }
  38. })
  39. </script>

2、计算属性

  1. <div class="app">
  2. <p>商品数量:<input v-model.lazy="num" type="text"></p>
  3. <p>商品价格:{{price}}</p>
  4. <hr>
  5. <p>您输入的商品数量是:{{num}}</p>
  6. <p>商品价格是:{{price}}</p>
  7. <p>商品总价是:{{amount}}</p>
  8. </div>
  9. <script src="vue.js"></script>
  10. <script>
  11. const vm = new Vue({
  12. el: '.app',
  13. data() {
  14. return {
  15. price: 100,
  16. num: 0,
  17. }
  18. },
  19. computed: {
  20. // 计算属性,第 1 种写法, 只有get()方法------------------
  21. // amount() {
  22. // return this.price * this.num
  23. // }
  24. // 计算属性,第 2 种写法, 可以有get(), set()两个方法-----
  25. amount: {
  26. get() {
  27. return this.price * this.num;
  28. },
  29. set(value) {
  30. console.log(value);
  31. //模拟给商品打6折
  32. if(value > 1000) this.price=60;
  33. }
  34. }
  35. }
  36. });
  37. vm.amount = 99999;
  38. </script>

3、侦听器

  1. <div class="app">
  2. <p>商品数量:<input v-model="num" type="number" min="0" max="100" style="width: 3rem"></p>
  3. <p>商品价格:{{price}}</p>
  4. <hr>
  5. <p>您输入的商品数量是:{{num}}</p>
  6. <p>商品价格是:{{price}}</p>
  7. <p>商品总价是:{{res}}</p>
  8. </div>
  9. <script src="vue.js"></script>
  10. <script>
  11. const vm = new Vue({
  12. el: '.app',
  13. data() {
  14. return {
  15. price: 100,
  16. num: 0,
  17. res: 0,
  18. }
  19. },
  20. watch: {
  21. // 侦听的是某一个属性的值的变化,它的属性名与data中要监听的属性同名;
  22. //这里侦听的是data 中,num 值的变化
  23. num(newVal, oldVal) {
  24. console.log("老值是:" + oldVal + " ---" + " 新值是:" + newVal);
  25. // this.res = this.num * this.price;
  26. this.res = newVal * this.price;
  27. if(newVal >= 20) {
  28. document.querySelector("input").max = newVal;
  29. alert("库存不足,请补货......")
  30. }
  31. }
  32. },
  33. })
  34. </script>
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学