(Sjran)vue.js第三天学习

1.vue绑定class样式

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="./lib/vue-2.4.0.js"></script>
  <style>
    .red{
      color:red;
    }

    .thin{
      font-weight: 200;
    }

    .italic{
      font-style: italic;
    }

    .active{
      letter-spacing: 0.5em;
    }
  </style>
</head>
  
    <body>
      <div id="app">
        <h1 class="red thin">杭州师范大学</h1>
        <h1 :class="['red','italic',{'active':flag}]">杭州师范大学</h1>
        <h1 :class="{red:true , thin:true , active:true}">杭州师范大学</h1>
        <h1 :class="classobj">杭州师范大学</h1>

		四种方法

      </div>

      <script>
        var vm = new Vue({
          el:'#app',
          data:{
            flag:true,
            classobj:{red:true , thin:true , active:true}
          },
          methods:{

          }
        })
        
      </script>


    </body>
  

</html>

2.style的绑定方式

<h1 :style="styleobj">杭州师范大学</h1>
  <h1 :style="[styleobj,styleobj1]">杭州师范大学</h1>
  在data里写(与上述class大致相同)
   styleobj:{color:'red' , 'font-weight':200},
   styleobj1:{'font-style':'italic'}
        

3.v-for循环的学习

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="./lib/vue-2.4.0.js"></script>
  
</head>
  
    <body>
      <div id="app">
        <p v-for="(item,i) in list">索引值:{{i}} 每一项:{{ item }}</p>
        <p v-for="item in list1">{{item.id}}---{{item.name}}</p>
        <p v-for="(val,key) in user">{{val}}---{{key}}</p>
        <p v-for="count in 10">{{count}}次循环</p>
      </div>

      <script>
        var vm = new Vue({
          el:'#app',
          data:{

            list:[1,2,3,4,5,6],
            
            list1:[
              {id:1,name:'sjr1'},
              {id:2,name:'sjr2'},
              {id:3,name:'sjr3'},
              {id:4,name:'sjr4'},
            ],

            user:{
              id:1,
              name:'Sjran',
              gender:'男'
            }
              

            
            
          },
          methods:{

          }
        })
        
      </script>


    </body>
  

</html>

4 利用for写的一个添加页面

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="./lib/vue-2.4.0.js"></script>
  
</head>
  
    <body>
      <div id="app">

      <div>
        <label>Id:
          <input type="text" v-model="id">
        </label>

        <label>Name:
          <input type="text" v-model="name">
        </label>

        <input type="button" value="添加" @click="add">

      </div>

      
       <p v-for="item in list" :key="item.Id">
         <input type="checkbox">{{item.Id}}-----{{item.name}}
        </p>
      </div>

      <script>
        var vm = new Vue({
          el:'#app',
          data:{
            id:'',
            name:'',
           list:[
             {Id:1 , name:'杭州师范大学'},
             {Id:2 , name:'浙江大学'},
             {Id:3 , name:'温州大学'},
             {Id:4 , name:'清华大学'},
           ]
            
          },
          methods:{
            add(){
              this.list.unshift({Id:this.id,name:this.name})
            }
          }
        })
   
      </script>


    </body>
  

</html>

注意最好在v-for后面加上唯一指定类型key值如上诉的:key=“item.Id

从现在开始省略掉开头结尾等代码直接关键部分代码展示

5.v-if 和 v-show

 <body>
      <div id="app">
        <input type="button" @click="toggle" value="toggle">
        <h3 v-if="flag">这是用v-if控制的元素</h3>
        <h3 v-show="flag">这是用v-show控制的元素</h3>
      </div>

      <script>
        var vm = new Vue({
          el:'#app',
          data:{
            flag:true

            
          },
          methods:{
            toggle(){
              this.flag=!this.flag
            }
           
          }
        })
        
      </script>


    </body>

v-if:每一次都会重新删除创建元素
v-show:不会重新删除和创建元素只是隐藏元素 切换了display:none样式
如果元素频繁切换推荐不使用v-if
反之如果涉及永久删除则不推荐用v-show

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值