4.姓名案例_计算属性简写.html 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. <!-- 引入vue -->
  9. <script type="text/javascript" src="../js/vue.js"></script>
  10. </head>
  11. <body>
  12. <!-- 准备好一个容器 -->
  13. <div id="root">
  14. 姓:<input type="text" v-model="firstName"></input><br><br>
  15. 名:<input type="text" v-model="lastName"></input><br><br>
  16. 全名:<span>{{fullName}}</span>
  17. </div>
  18. </body>
  19. <script type="text/javascript">
  20. Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
  21. const vm = new Vue({
  22. el:'#root',
  23. data:{
  24. firstName:'张',
  25. lastName:'三'
  26. },
  27. computed:{
  28. //完整写法
  29. // fullName:{
  30. // get(){
  31. // console.log('get被调用')
  32. // return this.firstName + '-' + this.lastName
  33. // },
  34. // set(value){
  35. // console.log('set',value)
  36. // const arr = value.split('-')
  37. // this.firstName = arr[0]
  38. // this.lastName = arr[1]
  39. // }
  40. // }
  41. // 简写
  42. fullName(){
  43. console.log('get被调用')
  44. return this.firstName + '-' + this.lastName
  45. }
  46. }
  47. })
  48. </script>
  49. </html>