vue学习·

MVVM

  • M - Model,数据

  • V - View,视图

  • VM - ViewModel,关联 Model 与 View,实现数据双向绑定:View 的变动会自动反映到 ViewModel,ViewModel 会自动通知 Model 更新,反之,Molde 的变化也会自动反映到 ViewModel 中,ViewModel 会通知 View 实现重新渲染。

Vue

官网

尤雨溪

现行两种版本:v2.x 与 v3.x,目前 3.x 的版本成为了默认版本。

渐进式 JavaScript 框架

兼容性:Vue 2.x 不支持 IE8 及以下版本,因为 Vue2.x 使用了 IE8 无法模拟的 ECMAScript 5 特性(Object.defineProperty())

安装

  • 使用 <script src=""> 方式在页面中引入

开发版本:包含完整的警告和调试模式

生产版本:经过压缩混淆,删除了警告等信息,有更小的体积

  • npm install
  • Vue CLI

声明式渲染

Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统

Vue 实例

var vm = new Vue({
   
  // 选项对象 option
  el: '', // element
  data: {
    // 是在模板语法中需要处理渲染的数据
    message: ''
  },
  methods: {
    // 是在 vue 实例中需要调用到的一些方法
    methodName() {
   }
  }
})

说明:

  • data 是需要在模板中渲染处理的数据
  • 添加到 data 中的各属性(字段)会被自动挂载到创建的 vue 实例下(但以 $ 或 _ 开头的不会被挂载到 vue 实例下)
  • data 中数据更新会触发页面响应式渲染,只有当实例被创建时就已经存在于 data 中的 property 才是响应式的。
  • 创建的 vue 实例中可以使用 $data 获取到选项中 data 对象的引用
  • 创建的 vue 实例中可以使用 $options 获取到选项对象
  • 创建的 vue 实例中可以调用 $el 获取到渲染后的 DOM 节点
  • 添加到 methods 中的各方法会被自动挂载到 vue 实例下,在方法中的 this 指向的是当前所创建的 Vue 实例本身

模板语法

Vue.js 使用了基于 HTML 的模板语法

插值

文本

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

<div>
  {
  { JS expression }}
</div>

注意,{ { exp }} 内部添加的是 JS 的表达式,如:{ { 5 }}{ { message }}{ { 3 + 2 - 5 * 0 }},不能使用如 if-elsewhile 等语句。

{ { exp }} 不会解析 html 文本内容,而是会将 html 文本转义为普通文本渲染。目的是避免 XSS 攻击

**v-text 指令:**渲染普通文本

原始 html

要渲染原始 html,使用 v-html 指令:

<div v-html="htmlText">
</div>

只对可信内容使用 HTML 插值绝不要对用户提供的内容使用插值(v-html)。

属性(Attribute)

使用 v-bind 指令来动态绑定属性值:在绑定属性值时,不能使用 { {}} 语法。

v-bind 可以缩写为 :,如:

<div v-bind:title="title">这是一个 div</div>
<div :title="title">这是一个 div</div>

指令(directive)

指令 (Directives) 是带有 v- 前缀的特殊 attribute(是在标签中添加的有特殊意义的属性,这个属性以 v- 开头),指令值是一个 JS 表达式。

指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。

参数:

是在 指令名称 后使用 : 连接的。

修饰符:

修饰符 (modifier) 是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。

所有指令:

文本与html渲染:

  • v-text:更新元素的 textContent
  • v-html:更新元素的 innerHTML

**条件渲染:**根据条件显示/隐藏元素,通常布尔值 true 表示显示、false 表示隐藏

  • v-show:
  • v-if:
  • v-else-if:
  • v-else:

列表渲染:

  • v-for:循环列表渲染
<li v-for="item in array"></li>
<li v-for="item of array">in 与 of 作用相同</li>
<li v-for="(item, index) in array"></li>
<li v-for="value in object
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值