最近用Vue.js做了一个数据查询平台,还做了一个拼图游戏,突然深深的感到了vue的强大。
Vue.js是一套构建用户界面(user interface)的渐进式框架。与其他重量级框架不同的是,Vue 从根本上采用最小成本、渐进增量(incrementally adoptable)的设计。Vue 的核心库只专注于视图层,并且很容易与其他第三方库或现有项目集成。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供有力驱动。
Vue.js目前已经更新到2.x,功能和语法上有一定升级和修改,本文首先介绍基础内容。
之后的内容会陆续更新。
1、新手指南 |
vue的使用非常简单,下载vue.js或vue.min.js直接导入即可使用。
2、vue初步入门 |
2.1声明式渲染
Vue.js 的核心是,可以采用简洁的模板语法来声明式的将数据渲染为 DOM:
<div id="app"> {{ message }}</div>
var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } })
这样就会输入:Hello Vue!
我们已经生成了第一个 Vue 应用程序!这看起来和渲染一个字符串模板非常类似,但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被关联在一起,所有的数据和 DOM 都是响应式的。我们如何对这一切清晰领会?只需打开你的浏览器的 JavaScript 控制台(现在,就在当前页面打开),然后设置 app.message
的值,你将看到上面的示例所渲染的 DOM 元素会相应地更新。
除了文本插值(text interpolation),我们还可以采用这样的方式绑定 DOM 元素属性:
<div id="app-2"> <span v-bind:title="message"> 鼠标悬停此处几秒, 可以看到此处动态绑定的 title! </span></div>
var app2 = new Vue({ el: '#app-2', data: { message: '页面加载于 ' + new Date().toLocaleString() } })
鼠标悬停几秒后,就可以看到动态的提示。
这里我们遇到一些新内容。你看到的 v-bind
属性被称为指令。指令带有前缀 v-
,表示是由 Vue 提供的专用属性。可能你已经猜到了,它们会在渲染的 DOM 上产生专门的响应式行为。简而言之,这里该指令的作用就是:“将此元素的title
属性与 Vue 实例的 message
属性保持关联更新”。
如果你再次打开浏览器的 JavaScript 控制台,并输入 app2.message = '一些新的 message'
,就会再次看到,绑定了title
属性的 HTML 已经进行了更新。
2.1条件与循环
控制切换一个元素的显示也相当简单:
<div id="app-3"> <p v-if="seen">现在你可以看到我</p></div>
var app3 = new Vue({ el: '#app-3', data: { seen: true } })
继续在控制台输入 app3.seen = false
,你应该会看到 span 消失。
这个示例表明,我们不只是可以将数据绑定到文本和属性,也可以将数据绑定到 DOM 结构。而且,Vue 也提供一个强大的过渡效果系统,可以在 Vue 插入/更新/删除元素时,自动使用过渡效果。
还有其它一些指令,每个都具有各自不同的特殊功能。例如,v-for
指令,可