Blogger Information
Blog 47
fans 0
comment 0
visits 21053
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
条件渲染和事件绑定
P粉036614676
Original
334 people have browsed it

1.列表渲染

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>列表渲染</title>
  8. <script src="https://unpkg.com/vue@3"></script>
  9. <style>
  10. li::marker{
  11. content: none;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <!-- 1.原生:<script>
  17. const ul = document.createElement('ul');
  18. const arr = ['wuhan','beijing','congqin'];
  19. for(let i of arr)
  20. {
  21. let li = document.createElement('li');
  22. li.append(i);
  23. ul.append(li);
  24. }
  25. document.body.append(ul);
  26. </script> -->
  27. <!--Vue 1: <div class="app">
  28. <ul>
  29. <li>{{City[0]}}</li>
  30. <li>{{City[1]}}</li>
  31. <li>{{City[2]}}</li>
  32. </ul>
  33. </div> -->
  34. <hr>
  35. <div class="app">
  36. <ul>
  37. <!-- <li v-for="(city,index) of City" :key = "index">{{city}}</li> -->
  38. <!-- 上下相等<li v-for="city of City">{{city}}</li> -->
  39. <li v-for="(message) of Messages">{{message['name']}}:{{message['email']}}</li>
  40. </ul>
  41. </div>
  42. <script>
  43. Vue.createApp({
  44. data(){
  45. return {
  46. City:['wuhan','beijing','congqin'],
  47. Messages:[
  48. {name:'yk',email:'yk@.com'},
  49. {name:'yk',email:'yk@.com'},
  50. { name:'yk',email:'yk@.com'}
  51. ]
  52. }
  53. }
  54. }).mount('.app');
  55. </script>
  56. </body>
  57. </html>

2.双向绑定

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>双向绑定</title>
  8. <script src="https://unpkg.com/vue@3"></script>
  9. </head>
  10. <body>
  11. <div class="app">
  12. <p>
  13. <input type="text" v-model = "comment" :value="comment">
  14. <span>{{comment}}</span>
  15. </p>
  16. </div>
  17. <script>
  18. const app = Vue.createApp({
  19. data(){
  20. return {
  21. comment :null,
  22. }
  23. }
  24. }).mount('.app');
  25. </script>
  26. </body>
  27. </html>

3.事件绑定

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title></title>
  8. <script src="https://unpkg.com/vue@3"></script>
  9. </head>
  10. <body>
  11. <!-- <div class="first">
  12. <a href="www.baidu.com" onclick="showUrl()">Url</a>
  13. <p></p>
  14. </div>
  15. <script>
  16. function showUrl()
  17. {
  18. //事件禁止跳转
  19. event.preventDefault();
  20. event.target.nextElementSibling.textContent = event.target.href;
  21. }
  22. </script> -->
  23. <div class="app">
  24. <a href="www.baidu.com" @click="showUrl($event)">Url</a>
  25. <!-- 等价于:<a href="www.baidu.com" v-on:click="showUrl($event)">Url</a> -->
  26. <p class="url">{{url}}</p>
  27. </div>
  28. <script>
  29. Vue.createApp({
  30. data(){
  31. return {
  32. url:null
  33. }
  34. },
  35. methods:{
  36. showUrl(ev)
  37. {
  38. ev.preventDefault();
  39. ev.stopImmediatePropagation();
  40. this.url = ev.target.href;
  41. }
  42. }
  43. }).mount('.app');
  44. </script>
  45. </body>
  46. </html>
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post