博客列表 >条件渲染和键盘修饰符

条件渲染和键盘修饰符

手机用户1607314868
手机用户1607314868原创
2021年01月20日 03:29:36594浏览

条件渲染

v-if 和 v-show
1.判断指令 v-if

  1. <div id="app">
  2. <h2>{{msg}}</h2>
  3. </div>
  4. <script>
  5. const vm=new Vue({
  6. el:"#app",
  7. data(){
  8. return {
  9. msg:"你好!php中文网",
  10. flag:false,
  11. };
  12. }
  13. });
  14. </script>

h2标签隐藏了,因为v-if=”false”
v-if也可以控制流程分支

  1. <p v-if="point > 1000 && point <2000">{{grade[0]}}</p>
  2. <p v-if="point >= 2000 && point <3000">{{grade[1]}}</p>
  3. <p v-if="point >=3000 && point <4000">{{grade[2]}}</p>
  4. <p v-if="point >=4000 ">{{grade[3]}}</p>
  5. <p v-else>{{grade[4]}}</p>
  6. <script>
  7. // v-if是判断
  8. // v-show是显示隐藏
  9. const vm=new Vue({
  10. el:document.querySelector("#app"),
  11. data(){
  12. return {
  13. msg:'你好!php中文网',
  14. flag:true,
  15. tips:'隐藏',
  16. point:2500,
  17. grade:[
  18. "木头会员",
  19. "石头会员",
  20. "金牌会员",
  21. "终身会员",
  22. "只对会员开发"
  23. ],
  24. };
  25. }
  26. });
  27. </script>
  1. v-show指令
    控制显示与隐藏
  1. <p v-show="status">v-show</p>
  2. const vm=new Vue({
  3. el:document.querySelector("#app"),
  4. data(){
  5. return {
  6. status:false,
  7. };
  8. }
  9. });

键盘修饰符

  1. <div id="app">
  2. //键盘修饰符
  3. <input type="text" @keyup.enter="submit($event)">
  4. <ul>
  5. <li v-for="(item,index) of list" :key="index">{{item}}</li>
  6. </ul>
  7. </div>
  8. <script>
  9. const vm=new Vue({
  10. el:'#app',
  11. data(){
  12. return{
  13. list:[],
  14. }
  15. },
  16. methods:{
  17. submit(ev){
  18. // 判断按下enter键后才添加
  19. // if(ev.key==="Enter"){
  20. // this.list.unshift(ev.target.value);
  21. // ev.target.value=null;
  22. // }
  23. this.list.unshift(ev.target.value);
  24. ev.target.value=null;
  25. },
  26. }
  27. });
  28. </script>

input事件 @keyup.enter 指摁下enter键,不用再代码里再判断enter了。

计算属性

实现输入数量直接算出结果
1.添加事件实现

  1. <div id="app">
  2. <p>数量:<input type="text" v-model="num" min="0" @change="calc"></p>
  3. <p>单价:{{price}}</p>
  4. <p>金额:{{res}}元</p>
  5. <p>金额:{{amount}}元</p>
  6. </div>
  7. <script>
  8. const vm=new Vue({
  9. el:"#app",
  10. data(){
  11. return{
  12. num:0,
  13. price:50,
  14. res:0,
  15. };
  16. },
  17. methods:{
  18. calc(){
  19. this.res=this.num*this.price;
  20. }
  21. }
  22. </script>
  1. 计算属性实现
  1. computed:{
  2. //默认是get方法,直接得到数据
  3. //amount(){
  4. // return this.num*this.price;
  5. // }
  6. //get和set方法
  7. amount:{
  8. get(){
  9. return this.num*this.price;
  10. }
  11. set(value){
  12. //设置值
  13. }
  14. }
  15. }
  16. vm.amount=100;就是set(value)的value值

注意:计算属性 最终会和data合并,所以不要和data中已有的属性重名

3.侦听器属性实现

  1. watch:{
  2. //监听已有的属性值的变化,它的属性名和data中要监听的属性同名
  3. num(newV,oldV){
  4. this.res=this.newV*this.price;
  5. //nweV表示新值,oldV表示旧值
  6. },
  7. },

侦听器比较适合时时变化的数据。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议