当前位置:   article > 正文

JavaWeb开发 —— Vue框架_java vue框架

java vue框架

目录

一、概述

 二、Vue快速入门

三、常用指令

1.  v-bind & v-model 

2.  v-on

3.  v-if & v-else-if & v-else & v-show

4.  v-for

四、案例分析

五、生命周期


一、概述

  • Vue 是一套前端框架,免除原生Javascript中的DOM操作,简化书写。
  • 基于 MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。
  • 官网:http://v2.cn.vuejs.org/

框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。基于框架进行开发,更加快捷、更加高效。

 二、Vue快速入门

  • 新建 HTML 页面,引入 Vue.js 文件
    <script src="js/vue.js"></script>
    
  • 在 JS 代码区域,创建 Vue 核心对象,定义数据模型
    1. <script>
    2. new Vue({
    3. el: "#app",
    4. data: {
    5. message: "Hello Vue ! "
    6. }
    7. })
    8. </script>
  • 编写视图
    1. <div id = "app">
    2. <input type="text" v-model = "message">
    3. {{ message }}
    4. </div>

插值表达式:

① 形式: {{ 表达式 }}

② 内容:

  • 变量
  • 三元运算符
  • 函数调用
  • 算术运算
  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>Document</title>
  8. <script src = "js/vue.js"></script>
  9. </head>
  10. <body>
  11. <div id="app">
  12. <input type="text" v-model = "message">
  13. {{message}}
  14. </div>
  15. </body>
  16. <script>
  17. //定义Vue对象
  18. new Vue({
  19. el:"#app", //Vue接管区域
  20. data:{
  21. message:"Hello Vue"
  22. }
  23. })
  24. </script>
  25. </html>

三、常用指令

① 指令:HTML标签上带有 v- 前缀的特殊属性,不同指令具有不同含义。例如: v-if,v-for ...

② 常用指令:

指令作用
v-bind为HTML标签绑定属性值,如设置href , css样式等
v-model在表单元素上创建双向数据绑定
v-on为HTML标签绑定事件
v-if条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else-if
v-else
v-show根据条件展示某元素,区别在于切换的是display属性的值
v-for列表渲染,遍历容器的元素或者对象的属性

1.  v-bind & v-model 

注意事项:通过 v-bind 或者 v-model 绑定的变量,必须在数据模型中声明

  1. <html>
  2. <head>
  3. <script src = "js/vue.js"></script>
  4. </head>
  5. <body>
  6. <div id="app">
  7. <a v-bind:href="url">链接1</a>
  8. <a :href = "url">链接2</a>>
  9. <input type="text" v-model = "url">
  10. </div>
  11. </body>
  12. <script>
  13. //定义Vue对象
  14. new Vue({
  15. el:"#app", //Vue接管区域
  16. data:{
  17. url:"http://www.baidu.com",
  18. }
  19. })
  20. </script>
  21. </html>

2.  v-on

  1. <html lang="en">
  2. <head>
  3. <script src = "js/vue.js"></script>
  4. </head>
  5. <body>
  6. <div id="app">
  7. <input type="button" value="点击" v-on:click="handler()">
  8. <input type="button" value="点击" onclick="handler()">
  9. </div>
  10. </body>
  11. <script>
  12. //定义Vue对象
  13. new Vue({
  14. el:"#app", //Vue接管区域
  15. data:{
  16. },
  17. methods:{
  18. handler:function(){
  19. alert("点击了一下...");
  20. }
  21. }
  22. })
  23. </script>
  24. </html>

3.  v-if & v-else-if & v-else & v-show

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <script src = "js/vue.js"></script>
  5. </head>
  6. <body>
  7. <div id="app">
  8. 年龄: <input type="text" v-model="age">经判断,为:
  9. <span v-if = "age <= 35">年轻人(35及以下)</span>
  10. <span v-else-if = "age >35 && age < 60">中年人(35-60)</span>
  11. <span v-else >老年人(60及以上)</span>
  12. <br><br>
  13. 年龄: <input type="text" v-model="age">经判断,为:
  14. <span v-show = "age <= 35">年轻人(35及以下)</span>
  15. <span v-show= "age >35 && age < 60">中年人(35-60)</span>
  16. <span v-show = "age >= 60">老年人(60及以上)</span>
  17. </div>
  18. </body>
  19. <script>
  20. //定义Vue对象
  21. new Vue({
  22. el:"#app", //Vue接管区域
  23. data:{
  24. age:20
  25. }
  26. })
  27. </script>
  28. </html>

4.  v-for

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <script src = "js/vue.js"></script>
  5. </head>
  6. <body>
  7. <div id="app">
  8. <div v-for="addr in addrs">{{addr}}</div>
  9. <hr>
  10. <div v-for="(addr , index) in addrs">{{index + 1}} : {{addr}}</div>
  11. </div>
  12. </body>
  13. <script>
  14. //定义Vue对象
  15. new Vue({
  16. el:"#app", //Vue接管区域
  17. data:{
  18. addrs:["北京","上海","西安","成都","深圳"]
  19. },
  20. methods:{
  21. }
  22. })
  23. </script>
  24. </html>

四、案例分析

通过Vue完成表格数据的渲染显示:

  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>Document</title>
  8. <script src = "js/vue.js"></script>
  9. </head>
  10. <body>
  11. <div id="app">
  12. <table border="1" cellspacing ="0" width = "60%">
  13. <tr>
  14. <th>编号</th>
  15. <th>姓名</th>
  16. <th>年龄</th>
  17. <th>性别</th>
  18. <th>成绩</th>
  19. <th>等级</th>
  20. </tr>
  21. <tr align="center" v-for = "(user ,index) in users" >
  22. <td>{{index + 1}}</td>
  23. <td>{{user.name}}</td>
  24. <td>{{user.age}}</td>
  25. <td>
  26. <span v-show = "user.gender == 1"></span>
  27. <span v-show = "user.gender == 2"></span>
  28. </td>
  29. <td>{{user.score}}}}</td>
  30. <td>
  31. <span v-if = "user.score >= 85">优秀</span>
  32. <span v-else-if = "user.score >= 60">及格</span>
  33. <span style="color: red;" v-else>不及格</span>
  34. </td>
  35. </tr>
  36. </table>
  37. </div>
  38. </body>
  39. <script>
  40. //定义Vue对象
  41. new Vue({
  42. el:"#app", //Vue接管区域
  43. data:{
  44. users:[{
  45. name:"Tom",
  46. age:20,
  47. gender:1,
  48. score:78
  49. },{
  50. name:"Rose",
  51. age:18,
  52. gender:2,
  53. score:86
  54. },{
  55. name:"Jerry",
  56. age:26,
  57. gender:1,
  58. score:90
  59. },{
  60. name:"Tony",
  61. age:30,
  62. gender:1,
  63. score:52
  64. }]
  65. },
  66. methods:{
  67. }
  68. })
  69. </script>
  70. </html>

五、生命周期

生命周期:指一个对象从创建到销毁的整个过程。
生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)。

状态阶段周期
beforecreate创建前
created创建后
beforeMount挂载前
mounted挂载完成
beforeUpdate更新前
updated更新后
beforeDestroy销毁前
destroyed销毁后
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/157149
推荐阅读
相关标签
  

闽ICP备14008679号