当前位置:   article > 正文

Vue 条件渲染 双向绑定

Vue 条件渲染 双向绑定

https://www.dedao.cn/ebook/reader?id=5lZOKpMGr9mgdOvYa6Ej75XRo1NML3jx810k8ZVzb2nqPpDxBeJlK4AyQ8RPQv2z

v-if实现条件渲染的功能。v-model实现双向数据传输。

v-model用来进行双向绑定,当输入框中的文字变化时,其会将变化同步到绑定的变量上,同样,当我们对变量的值进行改变时,输入框中的文本也会对应变化。

看起来像是登录界面,实际上功能缺失比较多。主要是没有数据的比较。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>loginDemo</title>
  7. <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
  8. </head>
  9. <body>
  10. <div id="Application" style="text-align: center;">
  11. <h1>{{title}}</h1>
  12. <div v-if="noLogin">Account:
  13. <input v-model="userName" type="text">
  14. </div>
  15. <div v-if="noLogin">Password:
  16. <input v-model="password" type="password">
  17. </div>
  18. <div v-on:click="click" style="border-radius: 30px;
  19. width: 100px;
  20. margin: 20px auto;
  21. color: black;
  22. background-color: grey;
  23. ">{{buttonTitle}} </div>
  24. </div>
  25. <script>
  26. const App = {
  27. data() {
  28. return {
  29. title: "欢迎:未登录",
  30. noLogin: true,
  31. userName: "",
  32. password: "",
  33. buttonTitle: "登录"
  34. }
  35. },
  36. methods: {
  37. click() {
  38. if (this.noLogin) {
  39. this.login()
  40. } else {
  41. this.logout()
  42. }
  43. },
  44. login() {
  45. if (this.userName.length > 0 && this.password.length > 0) {
  46. alert(`userName:${this.userName}`);
  47. this.noLogin = false;
  48. this.title = `欢迎: ${this.userName}`;
  49. this.buttonTitle = "退出";
  50. this.userName = "";
  51. this.password = "";
  52. } else {
  53. alert("请输入账号和密码");
  54. }
  55. },
  56. logout() {
  57. this.noLogin = true;
  58. this.title = `欢迎: 未登录`;
  59. this.buttonTitle = "登录";
  60. }
  61. }
  62. }
  63. Vue.createApp(App).mount("#Application")
  64. </script>
  65. </body>
  66. </html>

运行结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/墨韵书生/article/detail/62757
推荐阅读
相关标签
  

闽ICP备14008679号