博主信息
博文 41
粉丝 0
评论 0
访问量 41676
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
Vue的条件渲染、计算属性和侦听器属性
陈强
原创
735人浏览过

key的作用

key的作用主要是为了高效的更新虚拟DOM,此处的key就好比数据库里面主键的概念,通过它可以唯一的确定一组节点。

  • v-for 指令必须搭配:key
  1. <li v-for="item of list" :key="item.id">

条件渲染

  • v-if
  1. //v-if单分支,值为布尔类型,true \ false
  2. <li v-if="status">{{message}}</li>
  3. //多分支 v-if v-else-if
  4. <li v-if="num >= 0 && num < 2">{{message[0]}}</li>
  5. <li v-else-if="num > 2 && num < 10">{{message[1]}}</li>
  6. <li v-else-if="num > 11 && num < 20">{{message[2]}}</li>
  7. <li v-else>{{message[3]}}</li>
  8. <script>
  9. const vm = new Vue({
  10. el: ".app",
  11. data() {
  12. return {
  13. status: 8,
  14. message: ["susses", "error", "404", "lose"],
  15. };
  16. },
  17. });
  18. </script>
  • v-show
  1. <p v-show="num">{{message[3]}}</p>
  2. num: true,
  3. message: ["susses", "error", "404", "lose"],

计算属性

  1. <div class="app">
  2. <p>数量:<input type="number" v-model="num" min="0" /></p>
  3. <p>单价:{{price}}</p>
  4. <p>金额:{{amount}}</p>
  5. </div>
  6. <script>
  7. const vm = new Vue({
  8. el: ".app",
  9. data() {
  10. return {
  11. num: 0,
  12. price: 50,
  13. res: 0,
  14. };
  15. },
  16. //计算属性用conputed声明
  17. computed: {
  18. amount() {
  19. //如果数量大于10,单价变成40
  20. if (this.num >= 10) this.price = 40;
  21. return (this.res = this.num * this.price);
  22. },
  23. },
  24. });
  25. </script>

侦听器属性

  1. <div class="app">
  2. <p>数量:<input type="number" v-model="num" min="0" :max="max" /></p>
  3. <p>单价:{{price}}</p>
  4. <p>金额:{{res}}</p>
  5. </div>
  6. <script>
  7. const vm = new Vue({
  8. el: ".app",
  9. data() {
  10. return {
  11. num: 0,
  12. price: 50,
  13. res: 0,
  14. max: 20,
  15. };
  16. },
  17. watch: {
  18. num(newValut, oldValue) {
  19. this.res = newValut * this.price;
  20. if (newValut >= 5) {
  21. this.max = newValut;
  22. alert("本商品最大购买数量为" + newValut);
  23. }
  24. },
  25. },
  26. });
  27. </script>
批改老师:天蓬老师天蓬老师

批改状态:合格

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

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

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