Vue

一、概述

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

二、安装

1、官方下载Vue.js本地引入

点击 下载 vue 文件,在 html 文件中引入即可。

2、包管理工具

$ npm i -S vue
$ yarn add vue

3、CDN

  • 对于生产环境,我们推荐链接到一个明确的版本号和构建文件,以避免新版本造成的不可预期的破坏:
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
  • 对于制作原型或学习,你可以这样使用最新版本:
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

4、脚手架安装

参考官方文档

https://cn.vuejs.org/v2/guide/installation.html

三、Vue 实例

1、创建实例

var vm = new Vue({
  // 选项
})

2.数据与方法

let vm = new Vue({
    //元素挂载
    el: '#app',
    //挂载数据
    data: {
        message: 'Hello,vue.js!',
    //方法
    methods: {
        login() {
            //判断是否成功
            //this=>指向vue的实例
            console.log(this);
            if (this.username === 'admin' && this.password === '123') {
                alert('登录成功')
                this.islogin = true
            } else {
                alert('登录失败')
                this.islogin = false
            }
        },
})

3.实例生命周期钩子

何为 生命周期

下图展示了实例的生命周期。你不需要立马弄明白所有的东西,不过随着你的不断学习和使用,它的参考价值会越来越高。

在这里插入图片描述

let vm = new Vue({
    //元素挂载
    el: '#app',
    //挂载数据
    data: {
        message: 'Hello,vue.js!',
    // 生命周期
    mounted() {
        setTimeout(() => {
            this.$set(this.goods, 0, {
                name: "iPhone12",
                price: 9499
            })
        }, 3000);

    },

})

四、模板语法

Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解析器解析。

在底层的实现上,Vue 将模板编译成虚拟 DOM 渲染函数。结合响应系统,Vue 能够智能地计算出最少需要重新渲染多少组件,并把 DOM 操作次数减到最少。

如果你熟悉虚拟 DOM 并且偏爱 JavaScript 的原始力量,你也可以不用模板,直接写渲染 (render) 函数,使用可选的 JSX 语法。

(一)插值

1、文本

1.1数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值:

//html页面
<div> id="app"
h1 class="hello">文本插值方法一:{{message}}</h1>
</div>

//js页面
let vm = new Vue({
    //元素挂载
    el: '#app',
    //挂载数据
    data: {
        message: 'Hello,vue.js!',
        messageIpt: '请输入内容',
        }
 )}

Mustache 标签将会被替代为对应数据对象上 message属性的值。无论何时,绑定的数据对象上 message属性发生了改变,插值处的内容都会更新。

1.2 使用 v-text或者v-html方法

  • v-text方法
//js页面
let vm = new Vue({
    //元素挂载
    el: '#app',
    //挂载数据
    data: {
        message: 'Hello,vue.js!',
        }
})
//html页面
 <h1 v-text='message'></h1>
  • v-html方法
//js页面
let vm = new Vue({
    //元素挂载
    el: '#app',
    //挂载数据
    data: {
     htmlStr: '<p>环球中心</p>',
        }
})
//html页面
 <div :class='className' v-html='htmlStr'></div>

v-text跟v-html方法区别 :与原生js innerHtml和innerText一样,都是前者能识别html标签

(一)指令

指令 (Directives) 是带有 v- 前缀的特殊 attribute。指令 attribute 的值预期是单个 JavaScript 表达式 (v-for 是例外情况,稍后我们再讨论)。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。

1、参数

使用 v-bind 指令用于绑定属性:

一些指令能够接收一个“参数”,在指令名称之后以冒号表示。例如,v-bind 指令可以用于响应式地更新 HTML attribute:

在这里 href 是参数,告知 v-bind 指令将该元素的 href attribute 与表达式 url 的值绑定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值