Vue.js学习I(基本使用)
VUE.JS
有用的链接:
VUE笔记, 手打代码与文档于中文VUE教程网站
第一部分 简介
介绍
Vue.js 是一套轻量级js框架, 可以用于构建自己相关的html服务等.
Vue.js在设计之初的目标是通过尽可能简单的API去实现响应数据绑定和组合的视图套件
特性:
引用:1
<script src='https://unpkg.com/vue/dist/vue.js'></script>
vue与vue-cli:
vue-cli是vue的一个命令行工具, 在熟悉vue之后会进行学习.
声明式渲染
例子1
1 | <div id="app"> |
1 | var app = new Vue({ |
JS中将app与html的DOM绑定到了一起, 所以可以在浏览器中的控制台中更改: app.message="XXX"
来
动态修改DOM, (也就可以避免使用jQuery+ifelse去做判断更新的复杂代码).
例子2
1 | <div id="app-2"> |
1 | var app2 = new Vue({ |
这个例子里面用VUE绑定了一个DOM, v-bind
被称为一个指令, 以v-
开头代表是一个Vue.js
的特殊属性, 就像Agular中的ng-
一样.这句指令(v-bind:title="message"
)代表将这个DOM的title
属性与Vue实例的message
绑定到一起.
同样的, 在控制台中可以使用app2.message='Other commments'
进行更新.
条件与循环
条件
1 | <div id="app-3"> |
1 | var app3 = new Vue({ |
这里例子中有一个v-if
的属性, 代表如果是true, 将进行显示, 否则不显示.
控制台中用app3.seen=false
进行隐藏. 过渡中有可以有隐藏效果
循环
1 | <div id='app-4'> |
1 | var app4 = new Vue({ |
可以用app4.todos.push({text:'new message!'})
来更新一个新的内容~
处理用户输入
事件监听
v-on
用于绑定事件,Vue中的methods实现方法的定义.1
2
3
4<div id="app-5">
<p>\{\{message}}</p>
<button v-on:click="reverseMessage">Reverse Message</button>
</div>
1 | var app = new Vue({ |
双向绑定
v-model
用于绑定DOM和输入1
2
3
4<div id="app-6">
<p>\{\{message}}</p>
<input v-model="message">
</div>
1 | var app6 = new Vue({ |
构造用户组件
这部分稍微有点抽象,过程是这样的:
- 用Vue定义一个新的DOM, 如教程中所讲, 一个组件实质上是一个有预定义选项的Vue实例
- 模板中写入组件
- 对这个组件绑定数据
Vue.component
定义DOM, props
定义传入对象, templates
决定输出内容1
2
3
4
5<div id="app-7">
<ol>
<tool-set v-for="a in todoList" v-bind:todo="a"></tool-set>
</ol>
</div>
1 | Vue.component("tool-set",{ |