• Vue 光速入门(JavaWeb)


    目录

    一.Vue概述与快速入门

    1.新建HTML页面,引入Vue.js文件

    2.在js代码区域,创建Vue核心对象,进行数据绑定(三种方式)

     3.编写视图

    4.显示效果(在input内写入文字,插值表达式会自动在旁边显示,写啥显示啥)

     二.Vue的常用指令

    1.v-bind 

    2.v-model

    3.v-on

    5.v-for

    三.Vue的生命周期


     


    一.Vue概述与快速入门

    概述:

    1.Vue是一套前端框架,免除了原生Javascript中的DOM操作,简化书写

    2.Vue基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上

    3.下面的小案例是如何实现数的绑定

    1.新建HTML页面,引入Vue.js文件

    <script src="js/vue.js">script>

    2.在js代码区域,创建Vue核心对象,进行数据绑定(三种方式)

    方式一:

    1. new Vue({
    2. el:"#app", //el用来指定vue的作用范围,里面是用id选择器来选定id为app的....
    3. data(){
    4. return{
    5. username:""
    6. }
    7. }
    8. });

    方式二:

    1. new Vue({
    2. el:"#app",
    3. data:{username:""}
    4. });

    方式三:

    1. new Vue({
    2. el:"#app",
    3. data:function (){
    4. return{
    5. username:""
    6. }
    7. }
    8. });

     3.编写视图

    1. <div id="app">
    2. <input v-model="username">
    3. {{username}}
    4. div>

    4.显示效果(在input内写入文字,插值表达式会自动在旁边显示,写啥显示啥)

     二.Vue的常用指令

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

    2.常用指令:

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

    1.v-bind 

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. head>
    7. <script src="js/vue.js">script>
    8. <body>
    9. <div id="app">
    10. <a v-bind:href="url">点击一下a>
    11. <a :href="url">再点击一下a>
    12. <input v-model="url">
    13. div>
    14. <script>
    15. new Vue({
    16. el:"#app",
    17. data(){
    18. return{
    19. username:"",
    20. url:"https://www.baidu.com"
    21. }
    22. }
    23. });
    24. script>
    25. body>
    26. html>

    2.v-model

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. head>
    7. <body>
    8. <div id="app">
    9. <input v-model="username">
    10. {{username}}
    11. div>
    12. <script src="js/vue.js">script>
    13. <script>
    14. new Vue({
    15. el:"#app", //el用来指定vue的作用范围,里面是用id选择器来选定id为app的....
    16. data(){
    17. return{
    18. username:""
    19. }
    20. }
    21. });
    22. script>
    23. body>
    24. html>

    3.v-on

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. head>
    7. <script src="js/vue.js">script>
    8. <body>
    9. <div id="app">
    10. <input type="button" value="确认按钮" v-on:click="show()">
    11. <input type="button" value="再次确认按钮" @click="show()">
    12. div>
    13. <script>
    14. new Vue({
    15. el:"#app",
    16. data(){
    17. return{
    18. username:"",
    19. url:"https://www.baidu.com"
    20. }
    21. },
    22. methods: {
    23. show(){
    24. alert("已点击")
    25. }
    26. }
    27. });
    28. script>
    29. body>
    30. html>

    4.v-if,v-else,v-else-if

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. head>
    7. <body>
    8. <div id="app">
    9. <div v-if="count == 3">div1div>
    10. <div v-else-if="count == 4">div2div>
    11. <div v-else>div3div>
    12. <hr>
    13. <div v-show="count == 3">div v-showdiv>
    14. <br>
    15. <input v-model="count">
    16. div>
    17. <script src="js/vue.js">script>
    18. <script>
    19. //1. 创建Vue核心对象
    20. new Vue({
    21. el:"#app",
    22. data(){
    23. return {
    24. username:"",
    25. url:"https://www.baidu.com",
    26. count:3
    27. }
    28. },
    29. methods:{
    30. show(){
    31. alert("我被点了...");
    32. }
    33. }
    34. });
    35. script>
    36. body>
    37. html>

    5.v-for

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. head>
    7. <body>
    8. <div id="app">
    9. <div v-for="addr in addrs">
    10. {{addr}}
    11. div>
    12. <hr>
    13. <div v-for="(addr,i)in addrs">
    14. {{i}}+{{addr}}<br>
    15. div>
    16. div>
    17. <script src="js/vue.js">script>
    18. <script>
    19. //1. 创建Vue核心对象
    20. new Vue({
    21. el:"#app",
    22. data(){
    23. return {
    24. username:"",
    25. url:"https://www.baidu.com",
    26. count:'',
    27. addrs:[1,2,3,4,5]
    28. }
    29. },
    30. methods:{
    31. show(){
    32. alert("我被点了...");
    33. }
    34. }
    35. });
    36. script>
    37. body>
    38. html>

    三.Vue的生命周期

    生命周期的八个阶段(在后期springBoot的时候会详细学习):每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)

    状态阶段周期
    beforeCreate创建前
    created创建后
    beforeMount载入前
    mounted挂载完成
    beforeUpdate更新前                
    updated更新后
    beforeDestroy销毁前
    destroyed销毁后

    我们在学习Vue的时候,只需要知道一个就是mounted:挂载完成,Vue初始化成功,HTML页面渲染成功(发送异步请求,加载数据)

    实例:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Titletitle>
    6. head>
    7. <body>
    8. <div id="app">
    9. <div v-for="addr in addrs">
    10. {{addr}}
    11. div>
    12. div>
    13. <script src="js/vue.js">script>
    14. <script>
    15. //1. 创建Vue核心对象
    16. //在此data与mounted的方法都是简化书写的,为了更简便的观看
    17. new Vue({
    18. el:"#app",
    19. data(){
    20. return {
    21. username:"",
    22. url:"https://www.baidu.com",
    23. count:'',
    24. addrs:[1,2,3,4,5]
    25. }
    26. },
    27. methods:{
    28. show(){
    29. alert("我被点了...");
    30. }
    31. },
    32. /* 完整书写
    33. mounted:function (){
    34. },*/
    35. mounted(){
    36. alert("加载完成...");
    37. }
    38. });
    39. script>
    40. body>
    41. html>

  • 相关阅读:
    sql注入
    C++ 游戏:转杯子猜球位置 2
    【cookie和session】娓娓道来cookie和session
    【机器学习】实验2布置:基于回归分析的大学综合得分预测
    第十章《日期与时间》第5节:Period与Duration
    使用 OGG 21c 遇到的几个问题
    运动“双十一”持续走热,缤跃酒店洞察市场需求,创新打造运动健康酒店!
    如何Maven部署、Maven项目导入使用【亲测有效简洁】
    ResNet-50的网络结构:
    CancerGPT:使用大型预训练语言模型进行少样本药物配对协同作用预测
  • 原文地址:https://blog.csdn.net/qq_51272114/article/details/126805328