Vuejs学习笔记(一)

一.安装

通过 script 标签引入 js 文件/cdn 获取/csp 兼容版本/NPM 安装

使用 cdn 和 csp 兼容版本时可能会出现版本滞后和其他的一些问题,因此不建议使用;使用标签 script 引入和 npm 安装是比较合适的方法。

script 方法大家肯定都会,不做介绍;

npm 安装方法: \$ npm install vue

获取 CSP 兼容版本

\$ npm install vue@csp

获取最新开发版本(源自 github)

\$ npm install yyx990803/vue#dev

二.开始介绍

从技术角度:vuejs 专注于 MVVM 模型的 ViewModel 层。通过双向数据绑定把 View 层和 Model 层连接了起来。

从哲学角度:vuejs 希望通过一个尽量简单的 API 来提供反应式的数据绑定和可组合、复用的视图组件。它不是一个大而全的框架——它只是一个简单灵活的视图层。

1.ViewModel

它是一个同步 Model 和 View 的对象,在 vuejs 中,每个 vue 实例都是一个 ViewModel。它们是通过构造函数 vue 或其子类被创建出来的。

var vm = new Vue({ / options / });

2.视图(View)

视图是被 Vue 实例管理的 DOM 节点,每个 Vue 实例都关联着一个相应的 DOM 元素,当一个 vue 实例被创建时,它会递归遍历根元素的所有子节点,同时完成必要的数据绑定。

在使用 vuejs 时,除自定义指令外几乎不用直接接触 DOM;当数据发生变化时,视图会自动触发更新。

3.模型(Model)

vuejs 中的模型就是普通的 JavaScript 对象——也称为数据对象。可以操作他们的属性,同时正在观察它的 vue 实例也会收到提示。Vue 实例代理了他们观察的数据对象的所有属性,所以一旦一个对象{a:1}被观察,那么 vm.$data.a和vm.a将会返回相同的值,而设置 vm.a = 2 也会修改 vm.$data 。

4.指令(Directives)

指令是一个带特殊前缀的 HTML 特性,可以让 vuejs 对一个 DOM 元素做各种处理。

例如:<div v-text="message"></div>

此处 div 的指令为 v-text,其值为 message,Vuejs 会让该 div 的文本内容与 vue 实例中的 message 属性值保持一致。 Directives 可以封装任何 DOM 操作。

5.过滤器(Filters)

例如:<div></div>

这样在 div 的文本内容被更新之前,message 的值会先传给 capitalize 函数处理。

6.组件(Components)

每个组件都是一个简单的 vue 实例,它通过 vue.extend 返回的自定义构造函数可以把这些组件实例化;不过用声明式的用法是通过 Vue.component(id,constructor)注册这些组件,一旦组件被注册,它们就可以在 Vue 实例的模板中以自定义的元素形式使用。

1
2
3
4
5
<my-component>

`<!-- mycomponent -->

</my-component>

7.响应的数据绑定

通过指令 v-if 的值真假与否来进行文案展示,通过对指令 v-if 的值进行真假改变达到效果——vuejs 不仅可以绑定文本到数据,也可以绑定 DOM 结构到数据。如下图: