Vue.JS入门学习随笔

PS:先说说学习Vue的缘由吧,学习完了React之后,突然发现又出了一款叫做vue的框架,而且据说可以引领又一波新框架的潮流,我容易吗我!!!

  Vue.js(读音 /vju?/, 类似于view)是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

  Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

  

  Vue在使用的时候给我的感觉就是跟AngularJs很像很像,但是它的功能又是如此的强大,让我学着学着就沉迷进去了,它让我想到一个词,就是智能化。

  这里有一段Vue学习时的代码,可以给大家分享一下。

  

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<title></title>

<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/0.12.16/vue.min.js"></script>

</head>

<body>

<form id="demo">

<!-- text -->

<p>

<input type="text" v-model="msg">

{{msg}}

</p>

<!-- checkbox -->

<p>

<input type="checkbox" v-model="checked">

{{checked ? "yes" : "no"}}

</p>

<!-- radio buttons -->

<p>

<input type="radio" name="picked" value="one" v-model="picked">

<input type="radio" name="picked" value="two" v-model="picked">

{{picked}}

</p>

<!-- select -->

<p>

<select v-model="selected">

<option>one</option>

<option>two</option>

</select>

{{selected}}

</p>

<!-- multiple select -->

<p>

<select v-model="multiSelect" multiple>

<option>one</option>

<option>two</option>

<option>three</option>

</select>

{{multiSelect}}

</p>

<p><pre>data: {{$data | json 2}}</pre></p>

</form>

<script>

new Vue({

el: ‘#demo‘,

data: {

msg  : ‘hi!‘,

checked : true,

picked : ‘one‘,

selected : ‘two‘,

multiSelect: [‘one‘, ‘three‘]

}

});

</script>

</body>

</html>

Vue.js有很多奇特而又强大的特性

惰性更新
默认情况下,v-model 会在每个 input 事件之后同步输入的数据。你可以添加一个 lazy 特性,将其改变为在 change 事件之后才进行同步。

<!-- 在 "change" 而不是 "input" 事件触发后进行同步 -->

<input v-model="msg" lazy>

转换为数字
如果你希望将用户的输入自动转换为数字,你可以在 v-model 所在的 input 上添加一个 number 特性。没有试验成功,不知道什么原因

<input v-model="age" number>

绑定表达式
当使用 v-model 在单选框和复选框时,被绑定的值可以是布尔值或字符串:

<!-- toggle 是 true 或 false -->

<input type="checkbox" v-model="toggle">

<!-- 当单选框被选中时 pick 是 "red" -->

<input type="radio" v-model="pick" value="red">

这里有一点小的局限性——有的时候我们想把背后的值绑定到一些别的东西上。你可以按下面这个例子实现:

1.复选框

<input type="checkbox" v-model="toggle" true-exp="a" false-exp="b">

// 被选中时:

vm.toggle === vm.a

// 被取消选中时:

vm.toggle === vm.b

2.单选框

<input type="radio" v-model="pick" exp="a">

// 被选中时:

vm.pick === vm.a

动态select选项
当你需要为一个 <select> 元素动态渲染列表选项时,推荐将 options 特性和 v-model 指令配合使用,这样当选项动态改变时,v-model 会正确地同步:

<select v-model="selected" options="myOptions"></select>

在你的数据里,myOptions 应该是一个指向选项数组的路径或是表达式。
这个可选的数组可以包含简单的数组:

options = [‘a‘, ‘b‘, ‘c‘]

或者可以包含格式如 {text:‘‘, value:‘‘} 的对象。该对象格式允许你设置可选项,让文本展示不同于背后的值:

options = [

{ text: ‘A‘, value: ‘a‘ },

{ text: ‘B‘, value: ‘b‘ }

]

会被渲染成为

<select>

<option value="a">A</option>

<option value="b">B</option>

</select>

1.选项组
另外,数组里对象的格式也可以是 {label:‘‘, options:[...]}。这样的数据会被渲染成为一个 <optgroup>:

[

{ label: ‘A‘, options: [‘a‘, ‘b‘]},

{ label: ‘B‘, options: [‘c‘, ‘d‘]}

]

<select>

<optgroup label="A">

<option value="a">a</option>

<option value="b">b</option>

</optgroup>

<optgroup label="B">

<option value="c">c</option>

<option value="d">d</option>

</optgroup>

</select>

2.选项过滤
你的原始数据很有可能不是这里所要求的格式,因此在动态生成选项时必须进行一些数据转换。为了简化这种转换,options特性支持过滤器。将数据的转换逻辑做成一个可复用的 自定义过滤器 通常来说是个好主意:

Vue.filter(‘extract‘, function (value, keyToExtract) {

return value.map(function (item) {

return item[keyToExtract]

})

})

<select

v-model="selectedUser"

options="users | extract ‘name‘">

</select>

上述过滤器将像 [{ name: ‘Bruce‘ }, { name: ‘Chuck‘ }] 这样的原始数据转化为 [‘Bruce‘, ‘Chuck‘],从而符合动态选项的格式要求。

3.静态默认选项
除了动态生成的选项之外,你还可以提供一个静态的默认选项:

<select v-model="selectedUser" options="users">

<option value="">Select a user...</option>

</select>

基于 users 动态生成的选项将会被添加到这个静态选项后面。如果 v-model 的绑定值为除 0 之外的伪值,则会自动选中该默认选项。

输入debounce
在一次输入被同步到模型之前,debounce 特性允许你设置一个每次用户事件后的等待延迟。如果在这个延迟到期之前用户再次输入,则不会立刻触发更新,而是重置延迟的等待时间。当每次更新前你要执行繁重作业时会很有用,例如一个基于 ajax 的自动补全功能。有效的减少重复无用的提交

<input v-model="msg" debounce="500">
注意 debounce 参数并不对用户的输入事件进行 debounce:它只对底层数据的 “写入” 操作起作用。因此当使用 debounce 时,你应该用 vm.$watch() 而不是 v-on 来响应数据变化。

PS:我的这些总结也是在学习中远征博引来的,分享前端知识,顺带提升下自己~

时间: 2024-12-26 08:11:24

Vue.JS入门学习随笔的相关文章

Vue.js入门学习

一.创建一个Vue实例 每个Vue应用都是使用Vue函数创建一个Vue实例.所有的Vue组件都是一个Vue实例,并且接受相同的选项对象(一些根实例特有的选项除外). 数据和方法 当一个实例被创建后,它向Vue的响应式系统加入了其data对象中能找到的所有属性.当这些属性的值改变的时候,视图也会跟着响应. 注意: 1.值得注意的是,只有当Vue实例被创建的时候的data对象中的存在的属性才是响应式的. 2.如果你知道你会在晚些时候需要一个属性,但是一开始它为空或者不存在,那么你仅需要设置一些初始值

Vue.js 入门之路

最近在学习 Vue ,简单的介绍一下Vue.js,它是一款流行的 JavaScript 前端框架,旨在更好地组织与简化 Web 开发,Vue 是面向数据的编程,也就是 MVVM 模式.想了解的更多就去Vue.js官网. Vue.js 入门 很多大牛都说学习一门编程最好的方式就是阅读官方文档,这是不可否认的.问题是像我这种新人阅读那种干巴巴的文档确实有点无聊又吃力,附带效果:头皮发麻.恰好在网上找到了一些我觉得很实用的教程,在这里分享出来,希望能帮助和我一样的新手尽快的入门.在学习 Vue.js 

Vue.js 基础学习

今天我开始了Vue.js 的学习. 那么什么是Vue.js 呢? Vue.js是一套开发Web页面的JavaScript脚本框架.听起来感觉很难,不过据说,Vue.js是Web-Javascript脚本框架中最容易上手的框架.所以我便选择了先来学习这个. 要学习Vue.js首先就要获取库文件了,在网上有很多地方可以找到,我是在bootcdn上找到的 接下来我们通过Vue输出一串Hello World ! 首先引入vue. <script src="https://cdn.bootcss.c

vue.js的学习总结

一.vue.js的简介 vue.js是一套用于构建用户界面的渐进式框架.具体简介参考官方介绍,https://cn.vuejs.org/v2/guide/. 二.使用vue.js的学习总结 1.v-model在表单控件或者组件上创建双向绑定.随表单控件类型不同而不同.但是除表单以外就不能使用双向绑定,比如说表格中的标签不能使用v-model进行双向绑定,只能让数据从后台到前台单向的传输,展示用双花括号. 2.创建vue对象后自定义的方法需要写在methods中,方法中支持$.get()和$.aj

Vue.js 入门指南之“前传”(含sublime text 3 配置)

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴级别”的前端开发人员,大牛请绕过. 1,下载安装Node.js 去 Node.js 官网下载一个Windows环节的安装包 node-v6.2.0-x64.rar 文件,一路安装下去即可.官网访问很慢,可以试试中文网 http://nodejs.cn/ 2,配置Vue环境 一开始看<基于Webpac

Vue.js 入门指南之“前传”

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴级别”的前端开发人员,大牛请绕过. 1,下载安装Node.js 去 Node.js 官网下载一个Windows环节的安装包 node-v6.2.0-x64.rar 文件,一路安装下去即可.官网访问很慢,可以试试中文网 http://nodejs.cn/ 2,配置Vue环境 一开始看<基于Webpac

一个Java程序猿眼中的前后端分离以及Vue.js入门

松哥的书里边,其实有涉及到 Vue,但是并没有详细说过,原因很简单,Vue 的资料都是中文的,把 Vue.js 官网的资料从头到尾浏览一遍该懂的基本就懂了,个人感觉这个是最好的 Vue.js 学习资料 ,因此在我的书里边就没有多说.但是最近总结小伙伴遇到的问题,感觉很多人对前后端分离开发还是两眼一抹黑,所以今天松哥想和大家聊一下前后端分离以及 Vue.js 的一点事,算是一个简单的入门科普吧. 前后端不分 后端模板:Jsp.FreeMarker.Velocity 前端模板:Thymeleaf 前

vue.js 入门案例

作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1 vue.js 研究 1.1 vue.js 介绍 1.1.1.vue.js是什么? Vue (读音 /vju?/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计 为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.另一方面,当与现代化的工具链以及各种 支持类库结合使用时, Vue 也完全能够为复杂的单页应用提供驱动. 渐进式框架:Progressi

vue.js的学习

首先Vue.js是一个组件 他依赖于nodejs环境和npm   所以我们要先安装nodejs  npm也是依赖于nodejs的 对于nodejs呢   它有不同的版本   奇数版本不稳定  所以采用偶数版本   而我学习的是慕课网   它所用的是10版本  并且我们知道  版本必须是和api相匹配的 接下来呢我们就要按照nodejs'的安装先进行了  首先进入nodejs的官网下载  根据位数下载  我下载的是64位的  然后安装  安装时如果是自己的电脑建议直接用默认路径就是C盘   因为方