Vue练习案例

这篇博客探讨了Vue.js中的表单绑定v-model的原理和基本使用,展示了如何通过v-model实现双向数据绑定。同时,文章介绍了JavaScript中的计算属性,详细阐述了三种不同的循环遍历方法,并讲解了高阶函数的应用,特别是`filter`函数在处理数组时的使用。最后,博客还讨论了如何利用`v-model`在用户信息提交场景下的应用。
摘要由CSDN通过智能技术生成

案例代码展示

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>用户登录切换的小案例</title>
</head>
<body>
  <div id="app">
    <span v-if="isUser">
      <label for="username">用户账号</label>
      <input type="text" id="username" placeholder="用户账号">
    </span>
    <span v-else>
      <label for="email">用户邮箱</label>
      <input type="text" id="email" placeholder="用户邮箱">
    </span>
    <button @click="isUser = !isUser">切换类型</button>
  </div>
  <script src="../js/vue.js"></script>
  <script>
    const app = new Vue({
      el:'#app',    //用于挂载要管理的元素
      data:{    //定义一些数据
        isUser: true
      }
    })
  </script>
</body>
</html>

计算属性中循环遍历的三种方法

computed: {
    totalPrice() {
      //方法1、普通的for循环
      // let totalPrice = 0
      // for(let i = 0 ; i < this.books.length; i++){
      //   totalPrice += this.books[i].price*this.books[i].count
      // }

      //2、for (let i in this.books) 此处的i即为索引值
      // let totalPrice = 0
      // for (let i in this.books) {
      //   const book = this.books[i]
      //   totalPrice += book.price*book.count
      // }

      //方法3、for(let i of this.books)  无需获取索引值直接调用
      let totalPrice = 0
      for(let item of this.books) {    //此时取出的item为对象
        totalPrice += item.count * item.price
      }
      return totalPrice
    }
  }

高阶函数

//编程范式:命令式编程/声明式编程
//编程范式:面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)
//filter中的回调函数有一个要求:必须返回一个boolean:
//当返回true时,函数内部会自动将这次回调的n加入到新的数组中
//当返回false时,函数内部会过滤掉这次的n
const nums = [10,20,111,222,333,212,12,34]
//引入高阶函数
nums.filter(function (n) {
  return false
})


//需求1、取出所有小于100的数字
// let newNums = []
// for (let n of nums) {
//   if(n<100) {
//     newNums.push(n)
//   }
// }
//需求2、将所有小于100的数字进行转化:全部*2
// let new2Nums = []
// for (let n of newNums) {
//   if (n < 100) {
//     new2Nums.push(n*2)
//   }
}
//需求3、将所有的new2Nums数字相加,得到最终的结果
// let total = 0
// for (let n of new2Nums) {
//   total += n
// }
// return total

表单绑定v-model

表单控件在实际开发中是非常罕见的。特别是对于用户信息的提交,需要大量的表单

Vue中使用v-model指令来实现表单元素和数据的双向绑定

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>v-model的基本使用</title>
</head>
<body>

  <div id="app">
    <input type="text" v-model="message">
    {{message}}
  </div>
  <script src="../js/vue.js"></script>
  <script>
    const app = new Vue({
      el:'#app',    //用于挂载要管理的元素
      data:{    //定义一些数据
        message:'你好,vue'
      }
    })
  </script>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>v-model的原理</title>
</head>
<body>

  <div id="app">
    <!--方法1-->
    <!--<input type="text" v-model="message"><br/>-->
    <!--方法2-->
    <!--<input type="text" :value="message" v-on:input="valueChange">-->
    <!--方法3-->
    <input type="text" :value="message" @input="message = $event.target.value">
    <h2>{{message}}</h2>
  </div>
  <script src="../js/vue.js"></script>
  <script>
    const app = new Vue({
      el:'#app',    //用于挂载要管理的元素
      data:{    //定义一些数据
        message:'你好,vue'
      },
      methods: {
        valueChange(event) {
          this.message = event.target.value
        }
      }
    })
  </script>

</body>
</html>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
初学Vue案例练习题可以从以下几个方面进行练习: 1. 组件的基本使用:创建一个Vue组件,在模板中展示一些静态文本或数据,并在组件中定义一些基本的数据和方法。 2. 数据绑定:练习使用v-model指令和数据绑定来实现双向数据绑定,例如创建一个表单,实时显示输入框中的内容。 3. 列表渲染:使用v-for指令来循环渲染一个数组或对象的数据,并在模板中展示列表数据。 4. 条件渲染:使用v-if和v-else指令来根据条件动态地展示或隐藏一些元素。 5. 事件处理:练习使用v-on指令来监听DOM事件,并在事件处理函数中修改数据或执行其他逻辑。 6. 组件通信:练习使用props和emit来实现父子组件之间的数据传递和通信。 7. 生命周期:了解Vue的生命周期钩子函数,练习在创建、更新和销毁组件时执行相应的逻辑。 8. 路由和导航:学习使用Vue Router插件来实现前端路由和导航功能,创建不同路径下的页面。 9. 状态管理:学习使用Vuex插件来实现全局状态管理,练习在不同组件之间共享和修改状态。 以上是初学Vue时可以练习的一些案例题目,你可以根据自己的学习进度和需求选择适合自己的练习项目。如果需要更多详细的案例和代码实例,你可以参考中提供的学习资料和中的项目案例地址。另外,你还可以在Vue官方文档和在线教程中找到更多的实例和练习题目进行学习。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3+TypeScript从入门到进阶(三)——Vue3基础知识点(上)——附沿途学习案例及项目实战代码](https://blog.csdn.net/wuyxinu/article/details/124639124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coder_Alger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值