vue快速入门

基础

  • 创建HTML界面,引用Vue.js文件

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

  • 编写视图

    <!-- Vue.js 的挂载点,一个普通的 div 元素 -->
    <div id="app">
      <!-- 使用 Vue 的数据绑定功能来显示 message 数据 -->
      <h1>{{ message }}</h1>
      <!-- 另一个数据动态样式绑定在属性上 -->
      <p :style="abc" @click="myMethod_name()"></p>
      <!-- :style / v-bind:style  @click / v-on:click-->
    </div>

  • {{type}} : 插值表达式

    • 变量

    • 三元运算符

    • 函数调用

    • 算数运算

  • 在JS代码区域,创建Vue核心对象,定义数据模型

    <!-- 引入 Vue.js 的库文件 -->
    <!-- 请确保引入的是 Vue 的正确版本,且路径正确 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
    <!-- 或者如果你正在使用 Vue 3,可以引入 Vue 3 的 CDN 链接 -->
    <!-- <script src="https://unpkg.com/vue@next"></script> -->
    ​
    <script>
    // 创建一个新的 Vue 实例
    new Vue({
      // 指定 Vue 实例挂载到的 DOM 元素,使用 '#app' 选择器找到 id 为 app 的元素
      el: "#app",
      
      // 定义 Vue 实例的数据对象
      data: {
        // 这里的 message 和 abc 是响应式数据
        // 它们可以在模板中被绑定和显示
        message: "Hello Vue!",  // 初始值 "Hello Vue!"
        abc: "abc"               // 初始值 "abc"
      }
      
      // 在这里可以添加更多的选项,如 methods, computed, watch, filters 等
       methods: {
         // 方法可以在实例的模板中被调用
        myMethod_name: function() {
           // ...
         }
       },
      
      // 生命周期钩子,可以在不同的生命周期阶段执行代码
      // created: function() {
      //   // 实例被创建之后,数据观测和事件/侦听器的配置之前被调用
      // },
      
      // mounted: function() {
      //   // 实例被挂载后调用,此时可以访问到 DOM 元素
      // },
      
      // 等等...
    });
    </script>

常见指令

指令 作用
v-bind 为HTML标签绑定属性值,如设置href, css样式等 v-bind:href = "变量";
v-model 在表单元素上创建双向数据绑定 v-model="变量"
v-on 为HTML标签绑定事件
v-if 条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else-if 条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else 条件性的渲染某元素,判定为true时渲染,否则不渲染
v-show 根据条件展示某元素,区别在于切换的是display属性的值
v-for 列表渲染,遍历容器的元素或者对象的属性
v-bind/v-model
<script>
    new Vue({
        el: "#app"
        data:{
            url:"https://www.baidu.com"
        }
    })
    
</script>
  • v-bind:为HTML标签绑定属性值

    • <a v-bind:href="url">test</a>
      <a :href="url">test</a>

    • 如果"url"改变那么 href 也会跟着改变

  • v-model : 双向数据绑定

    • <input type="text" v-model="url"/>

    • 如果<input> 这个输入框改变了那 url 也会跟着改变, 同理 url 的改变也会也影响<input>这个输入框

v-on
  • 为HTML标签绑定事件

  • <script>
        new Vue({
            el:"#app",
            data:{
                log:"我被点击了"
            },
            methods:{
                myMethod_name:function(){
                    alert(this.log);
                    console.log(this.log);
                }
            }
            
        })
    </script>
    ​
    ​
    <input type="button" value="按钮" v-on:click="myMethod_name()">
    <input type="button" value="按钮" @click="myMethod_name()">

v-if / v-else-if / v-else / v-show

<script> new Vue({ el:"#app", data:{ age; } methods:{...}, }) </script>

  • v-if

  • 不满足条件的标签不进行渲染

  • <span v-if="age <= 18">未成年</span>
    <span v-else>成年</span>
  • v-show

  • 不同的是v-show是将不满足条件的标签设置为 display="none";

  • <span v-show="age <=18">未成年</span>
    <span v-show="age>18">成年</span>

v-for
  • v-for:列表渲染,遍历容器的元素或者对象的属性

  • <div id="app">
        <table>
            <tr>
                <td>addrs</td>
                <td v-for="(addr, index) in addrs" :key="index">{{ addr }}</td>
            </tr>
        </table>
    </div>
    ​
    <script>
        new Vue({
            el: "#app",
            data: {
                addrs: ['301', '302', '303', '304']
            }
        });
    </script>
    ​

Vue的生命周期

生命周期选项 | Vue.js (vuejs.org)

阶段 描述
beforeCreate 在实例初始化之后、数据观测和事件配置之前被调用。
created 在实例创建完成后被立即调用。在这一步,实例已完成数据观测、属性和方法的运算,watch/event 事件回调已设置,但还未开始 DOM 渲染。
beforeMount 在挂载开始之前被调用。
mounted el 被新创建的 vm.el 替换,并挂载到实例上去之后调用该钩子。如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.el 也在文档内。
beforeUpdate 数据更新时调用,发生在虚拟 DOM 打补丁之前。适用于在现有 DOM 应用更改之前访问它。
updated 在由于数据变更导致的虚拟 DOM 重新渲染和打补丁之后调用。当这个钩子被调用时,组件 DOM 已经更新,所以可以执行依赖于 DOM 的操作。
beforeDestroy 在实例销毁之前调用。实例仍然完全可用,这是你解绑订阅、监听器和取消 Vue 实例之间的事件通信的好时机。
destroyed 在实例销毁之后调用。调用此钩子时,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

生命周期示意图 —生命周期钩子 | Vue.js (vuejs.org)

相关推荐

  1. Vue3快速入门

    2024-06-07 05:32:04       31 阅读
  2. vue快速入门

    2024-06-07 05:32:04       11 阅读
  3. vuex 快速入门

    2024-06-07 05:32:04       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 05:32:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 05:32:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 05:32:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 05:32:04       18 阅读

热门阅读

  1. js前端怎么封装

    2024-06-07 05:32:04       10 阅读
  2. String,StringBuffer,StringBuilder的区别?

    2024-06-07 05:32:04       7 阅读
  3. LeetCode # 1158. 市场分析 I

    2024-06-07 05:32:04       8 阅读
  4. 【HarmonyOS】鸿蒙应用子模块module资源如何获取

    2024-06-07 05:32:04       10 阅读
  5. Nginx在Docker中的应用:容器化部署与扩展

    2024-06-07 05:32:04       10 阅读
  6. PostgreSQL的视图pg_stat_replication

    2024-06-07 05:32:04       10 阅读
  7. nginx常用配置指南

    2024-06-07 05:32:04       9 阅读
  8. docker学习--docker容器镜像常用命令大全(简)

    2024-06-07 05:32:04       10 阅读