概述
本篇为vue.js的简单入门。
vue.js是时下热门的javascript MVVM(Model-View-ViewModel)库,简单好用。
参考链接
HelloWorld入门示例
废话不多说,先来个Hello World。
|
|
代码说明
|
|
这段代码中包含了我们所需要的信息,如下表所示:
| el | <div id="app"> </div> |
|---|---|
| data | {message:”Hello World!”} |
- el 对应html中的标签元素,即View
- data 对应的data,即我们需要操作的Model
若将上述app标签中的代码改成如下
|
|
如此就实现了View和Model的双向绑定,将message绑定到文本框,当更改文本框的值时,<p></p>中的内容也会被更新。
Vue.js常用指令
| 指令 | 说明 |
|---|---|
| v-if | 判断为true,则将后面元素渲染到html中,false则不 |
| v-show | 类似v-if,true,false都渲染,但是修改css属性 |
| v-else | 必须跟在v-if或v-show后面,若在v-if后面则根据if正确与否再决定是否渲染,v-show后则都渲染 |
| v-for | v-for=”item in items” 大概就这样了 |
| v-bind | 将元素与Vue实例绑定,可用于修改标签中属性的值,如id |
| v-on | 实现事件监听功能,调用对应的函数 |
表格创建的例子
|
|
| Name | Age | Gender | Delete |
|---|---|---|---|
不造为啥数据不显示 奇了怪了 算了 不管了
更新事件:2017-07-30
分页的例子
代码:
|
|
代码注释中包括了对html标签的说明。
下面为vue.js中computed和methods以及watcher的区别做下简要介绍。
computed
直接先看个例子
|
|
结果:
Original message: “Hello”
Computed reversed message: “olleH”
这里我们声明了一个计算属性 reversedMessage 。我们提供的函数将用作属性 vm.reversedMessage 的 getter 。
你可以打开浏览器的控制台,自行修改例子中的 vm 。 vm.reversedMessage 的值始终取决于 vm.message 的值。
你可以像绑定普通属性一样在模板中绑定计算属性。 Vue 知道 vm.reversedMessage 依赖于 vm.message ,因此当 vm.message 发生改变时,所有依赖于 vm.reversedMessage 的绑定也会更新。而且最妙的是我们已经以声明的方式创建了这种依赖关系:计算属性的 getter 是没有副作用,这使得它易于测试和推理。
Computed vs Methods
我们可以将同一函数定义为一个 method 而不是一个计算属性。对于最终的结果,两种方式确实是相同的。然而,不同的是计算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新求值。这就意味着只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数。
我们为什么需要缓存?假设我们有一个性能开销比较大的的计算属性 A ,它需要遍历一个极大的数组和做大量的计算。然后我们可能有其他的计算属性依赖于 A 。如果没有缓存,我们将不可避免的多次执行 A 的 getter!如果你不希望有缓存,请用 method 替代。
Computed vs Watched
Vue 确实提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:watch 属性。当你有一些数据需要随着其它数据变动而变动时,你很容易滥用 watch——特别是如果你之前使用过 AngularJS。然而,通常更好的想法是使用 computed 属性而不是命令式的 watch 回调。
O__O “… 以上的话,就当做我已经理解了。
Watchers
虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的 watcher 。这是为什么 Vue 提供一个更通用的方法通过 watch 选项,来响应数据的变化。当你想要在数据变化响应时,执行异步操作或开销较大的操作,这是很有用的。
使用 watch 选项允许我们执行异步操作(访问一个 API),限制我们执行该操作的频率,并在我们得到最终结果前,设置中间状态。这是计算属性无法做到的。
参考链接
以上分析参考自官方对计算属性的介绍
vuejs2.0实现一个简单的分页
THE END
thank you!~