vue.js初学入门教程(1)
Vue.js——初学者的入门指南
Vue.js是当前非常受欢迎的JavaScript MVVM库,以其数据驱动和组件化的思想受到广大开发者的喜爱。
一、理解MVVM
MVVM,即Model-View-ViewModel,是Vue.js的核心架构。其中,ViewModel是Vue实例,它负责连接View和Model,实现数据的双向绑定。即使一开始对此概念感到困惑,也不用担心,随着学习的深入,你会逐渐理解并掌握它。
二、基础示例
下面是一个简单的Vue.js示例,通过此例,我们可以了解Vue的使用方式:
```html
new Vue({
el: 'didi-navigator',
data: {
tabs: [
{ text: '巴士' },
{ text: '快车' },
{ text: '专车' },
{ text: '顺风车' },
{ text: '出租车' },
{ text: '代驾' }
]
}
})
```
在此示例中,我们定义了View、Model以及ViewModel。View是用户在浏览器中看到的界面;Model是后端传递的数据;而Vue实例(ViewModel)则负责连接View和Model,实现数据的双向绑定。
三、数据绑定
1. 插值绑定:通过双大括号{{}}实现数据的绑定。如果数据只需要渲染一次,后续数据变化不再关心,可以使用插值绑定。例如:Text: {{text}}。如果值是HTML片段,则可以使用三个大括号来绑定,例如:
Vue.js为我们提供了一种强大的工具——v-for,用于渲染列表数据。除此之外,Vue还提供了$set和$remove两个方法,用于观测数据变化。
我们需要避免直接设置数据绑定数组的元素的属性值。因为在Vue中,这样的变化不会被检测到,因此视图也不会相应地更新。我们应该使用$set方法来实现。例如:
demo.item.$set(0,{childMsg:'Changed!'})
这里,我们通过$set方法更新了数组的第一个元素。这样,Vue就能检测到变化并更新视图。
另一方面,$remove方法则是splice的语法糖,它可以帮助我们从目标数组中查找并删除元素。使用方法如下:
demo.item.$remove(item)
有时,我们可能需要用全新对象来替换数组。在这种情况下,Vue.js会尽可能地复用已有的实例。如果没有唯一的键供追踪,我们可以使用track-by=”$index”。这将强制v-for进入原位更新模式,片段不会被移动,而是简单地以对应索引的新值刷新。这样做也有一些限制。例如,DOM节点不再映射数组元素顺序的改变,不能同步临时状态(比如元素的值),以及组件的私有状态。在使用时需要根据具体情况权衡。值得注意的是,由于JavaScript的限制,Vue.js无法检测到通过以下方式进行的数组变化:
首先是filterBy的使用案例。假设我们有一个用户列表,并且我们希望通过一个输入框过滤出名字中包含特定关键词的用户。我们可以使用v-for指令结合filterBy过滤器来实现这个功能。
```html
/>
- {{user.name}}
// 定义Vue实例并初始化数据
var app = new Vue({
el: 'body', // 将Vue实例关联到body元素上
data: { // 定义数据对象,包含用户列表和搜索框的关键词
searchText: '', // 输入框绑定的关键词数据模型
users: [ // 用户列表数据模型,包含用户名字和标签等属性信息
{ name: '快车', tag: '1' },
{ name: '慢车', tag: '2' },
{ name: '好车', tag: '3' },
{ name: '破车', tag: '4' }
]
}
});
微信营销
- vue.js初学入门教程(1)
- Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
- 浅析IE针对Ajax请求结果的缓存问题
- ASP.NET Session的七点认识小结
- vue mint-ui学习笔记之picker的使用
- Bootstrap3学习笔记(二)之排版
- php出租房数据管理及搜索页面
- nodeJS微信分享
- BootStrap 页签切换失效的解决方法
- PHP封装请求类实例分析【基于Yii框架】
- PHP实现的浏览器检查类
- 同一个帐号不能同时登陆的问题
- 浅谈javascript中关于日期和时间的基础知识
- JavaScript实现的圆形浮动标签云效果实例
- jQuery Mobile弹出窗、弹出层知识汇总
- [js高手之路]图解javascript的原型(prototype)对象,原型