Vue.js学习笔记(2)

Vue.js条件与循环
本文介绍了Vue.js中的条件渲染和循环使用方法,包括v-if、v-else、v-else-if以及v-for指令的详细应用案例,展示了如何根据不同条件显示或隐藏DOM元素,并通过v-for实现数组或对象的循环遍历。

Vue.js 条件与循环

条件判断

v-if

条件判断使用 v-if 指令:

<divid="app">

    <pv-if="seen">是否可见</p>

</div>

   

<script>

newVue({

  el:'#app',

  data:{

    seen:true

  }

})

</script>

这里, v-if 指令将根据表达式 seen 的值(true 或false )来决定是否插入 p 元素。

 

v-else

可以用 v-else 指令给 v-if 添加一个 "else" 块:

还是用之前用过的文本输入字数提示的例子

<divid="app">

    <divclass="textbox">

        <textareamaxlength="80" @input="countfun"v-model="text"></textarea>

    </div >

    <divv-if="text.length<=60">

    <p>您还可以输入{{word}}个字</p>

    </div>

    <divv-else="text.length>60"style="color:red">

    <p>您已经超出了{{0-word}}个字</p>

    </div>

        </div>

同许多语言一样,条件分支语法还有v-else-if,可以在一个条件分支中多次使用。需要注意的是,使用的顺序应该为v-if,v-else-if,……,v-else。

 

循环语句

循环使用 v-for 指令

针对数组的循环

<divid="app">

    <ol>

      <liv-for="item in array">

        {{ item.name }}

      </li>

    </ol>

  </div>

  

  <script>

  newVue({

    el:'#app',

    data:{

      array: [

        { name:'Baidu'},

        { name:'Google'},

        { name:'Yahoo'}

      ]

    }

  })

  </script>

然后我们也可以把数组每个元素的索引值index也给表达出来

<divid="app">

    <ul>

      <liv-for=" item in array">

        {{ item.name }}

      </li>

    </ul>

  </div>

  

  <script>

  newVue({

    el:'#app',

    data:{

      array: [

        { name:'Baidu'},

        { name:'Google'},

        { name:'Yahoo'}

      ]

    }

  })

  </script>

我们还可以进一步把他的键名也给表示出来

<divid="app">

    <ul>

      <liv-for="(value, key,index) in object">

       {{ index }}. {{ key }} : {{ value }}

      </li>

    </ul>

  </div>

 

  <script>

  newVue({

    el:'#app',

    data:{

      object:{

        name:'v-for实例',

        url:'http://www.gaohk.com',

        slogan:'这是一个v-for的实例'

      }

    }

  })

  </script>

v-for还可以用来迭代整数

<divid="app">

    <ul>

      <liv-for="n in 10">

       {{ n }}

      </li>

    </ul>

  </div>

 

Vue.js 计算属性

计算属性关键词: computed

利用刚才前面的知识,我们可以用computed属性来对数组进行排序并输出

<divid="app">

    <ul>

        <liv-for="item insortItems">

            {{ item }}

        </li>

    </ul>

</div>

<script>

    newVue({

        el:'#app',

        data:{

            items: [1,34,89,92,45,76,3,12]

        },

        computed:{

            sortItems:function(){

                returnthis.items.sort()

            }

        }

    })

</script>

 

Vue.js 事件处理器

事件监听可以使用 v-on 指令:

v-on可以绑定一个方法,当检测到事件时,调用该方法(下面例子也可以改写成调用一个方法)

<divid="app">

    <buttonv-on:click="counter += 1">Button</button>

    <p>这个按钮被点击了 {{ counter }} 次。</p>

  </div>

  

  <script>

  newVue({

    el:'#app',

    data:{

      counter:0

    }

  })

  </script>

 

 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值