Vue.js基本指令

朴灿烈づ我的快乐病毒、 2024-03-25 09:44 139阅读 0赞

目录

插值表达式“{ {}}”

v-html和v-text指令

例1

v-on指令

例1

v-model指令

例1

v-if指令

例1:判断二月份有几天

例2:比较两个数的大小

v-show指令

v-if和v-show的区别

v-for 指令

遍历数组

遍历对象


插值表达式“{ {}}”

数据绑定最常见的形式就是使用双大括号(Mustache语法)“{ {}}”将动态绑定的数据实时显示出来

  1. <div id="app">
  2. {
  3. {msg}}<br>
  4. {
  5. {5+5}}<br>
  6. {
  7. { ok ? 'YES' : 'NO' }}<br>
  8. {
  9. { msg.split('').reverse().join(',') }}
  10. </div>
  11. <script>
  12. new Vue({
  13. el: '#app',
  14. data: {
  15. ok: true,
  16. msg: 'asdfSF',
  17. }
  18. })
  19. </script>

e8bde53f9312472db604446cd6e72f49.png

v-html和v-text指令

v-html指令用于输出html代码

v-text指令主要用来更新textContent,将示例中的数据当作纯文本输出

例1

  1. <div id="app">
  2. <div v-html="msg"></div>
  3. <div v-text="msg"></div>
  4. </div>
  5. <script>
  6. new Vue({
  7. el: '#app',
  8. data: {
  9. msg: '<h1>Vue教程</h1>'
  10. }
  11. })
  12. </script>

a2ee419cd9cf48499fc073fd35ad909d.png

v-on指令

v-on指令是用来绑定事件监听器的。类似于原生的JavaScript中的onclick的用法,使用此指令可以进行一些交互。” v-on: “可以简写为“ @ ”

例1

  1. <div id="app">
  2. <input type="button" value="点击次数" @click="add"/>
  3. <p>我被按了 {
  4. {count}} 次</p>
  5. </div>
  6. <script>
  7. new Vue({
  8. el:"#app",
  9. data:{
  10. count:0
  11. },
  12. methods:{
  13. add(){
  14. this.count++
  15. }
  16. }
  17. })
  18. </script>

0b81dfa14bd347a6841d1c97ee94805c.png

v-model指令

v-model指令的本质是监听用户输入事件,从而更新数据。同时,v-model指令会忽视所有表单元素的value、checked、selected特性的初始值,他会将Vue实例中的数据作为数据来源。当输入事件发生时,他会实时更新Vue示例中的数据,从而实现数据的双向绑定。

例1

  1. <div id="app">
  2. <p>input元素:</p>
  3. <!-- 使用v-model指令在表单上创建双向数据绑定 -->
  4. <input v-model="message" placeholder="请输入...">
  5. <p>消息是:{
  6. {message}}</p>
  7. </div>
  8. <script>
  9. new Vue({
  10. el:'#app',
  11. data:{
  12. message:'hello',
  13. }
  14. })
  15. </script>

ffefa696ba8c4b7baabdd90ef3dc175b.png

v-if指令

v-if指令可以实现条件渲染,Vue会根据表达式的值的真假来渲染元素

例1:判断二月份有几天

  1. <div id="app">
  2. <input type="text" v-model="year">
  3. <p v-if="year%4==0 ||year%100==0">{
  4. {show(29)}}</p>
  5. <p v-else>{
  6. {show(28)}}</p>
  7. </div>
  8. <script>
  9. new Vue({
  10. el:"#app",
  11. data:{
  12. year:2023,
  13. },
  14. methods:{
  15. show(num){
  16. return this.year+"年2月份有"+num+"天"
  17. }
  18. }
  19. })
  20. </script>

595c63793f94458d80a2282452923a24.png

例2:比较两个数的大小

  1. <div id="app">
  2. 请输入第一个数:<input type="text" v-model="num1">
  3. <br>
  4. 请输入第二个数:<input type="text" v-model="num2">
  5. <br>
  6. <p v-if="!this.num1||!this.num2">比较结果:{
  7. {show("请输入正确数字")}}</p>
  8. <p v-else-if="num1>num2">比较结果:{
  9. {show("第一个数大于第二个数")}}</p>
  10. <p v-else-if="num1<num2">比较结果:{
  11. {show("第一个数小于第二个数")}}</p>
  12. <p v-else="num1==num2">比较结果:{
  13. {show("第一个数等于第二个数")}}</p>
  14. </div>
  15. <script>
  16. new Vue({
  17. el:'#app',
  18. data:{
  19. num1:'',
  20. num2:'',
  21. result:''
  22. },
  23. methods:{
  24. show(da){
  25. return da
  26. },
  27. }
  28. })
  29. </script>

9b18e965fccf4fcc95acf956cbbd5ed3.png

v-show指令

v-show指令和v-if指令作用还差不多,以下面的例子来区分一下

例1

  1. <div id="app">
  2. <div v-if="isTrue">v-if</div>
  3. <div v-show="isTrue">v-show</div>
  4. </div>
  5. <script>
  6. new Vue({
  7. el:"#app",
  8. data:{
  9. },
  10. computed:{
  11. isTrue(){
  12. return false;
  13. }
  14. }
  15. })
  16. </script>

c795a24403774eb4bb3cb253e6d30c8d.png

v-if和v-show的区别

v-if没有显示是因为对页面进行注释

v-show没有显示是因为CSS中的display的值为none

v-if的原理:每次动态创建或移除元素,来实现元素的显示或隐藏

v-show的原理:动态为元素添加或移除display:none样式,来实现元素的显示和隐藏

如果要频繁的切换元素的显示状态,用v-show性能更好

v-for 指令

v-for用来遍历数组、对象的,其表达式需要结合in来使用

遍历数组

  1. <div id="app">
  2. <ul>
  3. <li v-for="cloth in clothes">{
  4. {cloth.name}}:${
  5. {cloth.price}}</li>
  6. </ul>
  7. </div>
  8. <script>
  9. new Vue({
  10. el:'#app',
  11. data:{
  12. clothes:[
  13. {
  14. name:'衬衫',
  15. price:'180'
  16. },
  17. {
  18. name:'外套',
  19. price:'200'
  20. },
  21. {
  22. name:'裤子',
  23. price:'380'
  24. }
  25. ]
  26. }
  27. })
  28. </script>

758f90050c5a4833ab0d4ca081c5980a.png

遍历对象

  1. <div id="app">
  2. <ul>
  3. <li v-for="(value,key,index) in user">{
  4. {index}}-{
  5. {key}}:{
  6. {value}}</li>
  7. </ul>
  8. </div>
  9. <script>
  10. new Vue({
  11. el:"#app",
  12. data:{
  13. user:{
  14. name:"张三",
  15. age:"30",
  16. sex:"男"
  17. }
  18. }
  19. })
  20. </script>

a4fbabb377a5447197bf5020d6ddac51.png

发表评论

表情:
评论列表 (有 0 条评论,139人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux 基本指令

      貌似好久没有更新博客了,今天先随便写写。   1. 查看服务语言设置    Unbantu系统的话,因为语言不同可能会导致编码的错误,出现乱码,或者文件?.class文

    相关 Docker基本指令

    本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参[考官方文档][Link 1],这里只作为自己以后的备忘记录下来。 一、根据自己的理解,总的