vuejs学习笔记(2)--属性,事件绑定,ajax
属性
v-for 类似于angular中的 ng-repeat ,用于重复生成html片段;
<ul id="box">
<li v-for="(v, i) in list">{{v}}</li>
</ul>
<script>
var vm = new Vue({
el: '#box', // 对应的元素选择器 或者是 指向元素的变量
data: { // data
list: [1,2,3]
}
});
</script>
也可以写成这种形式 v-for='v in list' ,重复的数据也可以是js对象格式的。
v-show 与angular中的 ng-show 是一样的,值为 true 则显示,false 则隐藏(display:none)。
v-model 与angular中的 ng-model 一样,主要用于input元素值的绑定。
v-bind: 用于绑定属性值;
<img v-bind:class="class" v-bind:src="src"/>
<script>
var vm = new Vue({
el: '#box', // 对应的元素选择器 或者是 指向元素的变量
data: { // data
class: ['class1','class2'], //
src: 'img/1.png'
}
});
</script>
这里的class数据也可以是对象形式的 {'class1': true, 'class2': false},对象中的key值为类名,value为真则应用此类名,否则反之;
还可以是字符串 'class1' 。
v-bind: 的简写形式,如 v-bind:class 可以写成 :class , v-bind:src 可以写成 :src ,推荐使用简写。
事件绑定
vuejs中使用 v-on:click="fn()" 的形式绑定事件:
<input type="button" v-on:click="add()"> // <input type="reset" v-on:click=" username='123' "> // 也可以是一条js语句 <input type="button" @click="add($event)"> // @click 是 v-on:click 的简写,推荐使用 <input type="text" @click.stop="add($event)"> // .stop 表示阻止冒泡 <input type="text" @click.prevent="add($event)"> // .prevent 表示默认行为 <input type="text" @keydown.up="add($event)"> // .up 对应键盘up键 <input type="text" @keydown.left="add($event)"> // .left 对应键盘left键
<input type="text" @keydown.13="add($event)"> // .13 对应 enter 键
<script>
var vm = new Vue({
el: '#box', // 对应的元素选择器 或者是 指向元素的变量
data: { // data
username: 'vuejs'
}, methods: { // 存放事件对应的方法 add:function(e){} }
});
</script>
vue 提供多种形式的事件绑定,没有他做不到,只有你想不到。
ajax
vue 本身并没有封装ajax模块,我们可以使用vue的插件 vue-resource.js 来做数据交互;当然也可以使用 jquery
vue-resource.js 的API 与jquery的 ajax 类似,容易上手:
<script src="vue.js"></script> <script src="vue-resource.js"></script>
<script>
var vm = new Vue({
el: '#box', // 对应的元素选择器 或者是 指向元素的变量
data: { // data
username: 'vuejs'
}, methods: { // 存放事件对应的方法 get: function(e){ this.$http.get('url').then( function(result){console.log('success')}, // 请求成功的回调函数 function(result) {console.log('fail')} // 失败时的回调函数 ) } }
});
</script>
$http.get() 返回的是 promise 对象。大白话讲解Promise(一)
$http也支持 post(), jsonp()跨域 等方法。
vuejs学习笔记(2)--属性,事件绑定,ajax的更多相关文章
- 微信小程序学习笔记二 数据绑定 + 事件绑定
微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...
- VueJs 学习笔记
VueJs学习笔记 参考资料:https://cn.vuejs.org/ 特效库:TweenJS(补间动画库) VelocityJS(轻量级JS动画库) Animate.css(CSS预设动画库) ...
- iOS学习笔记之触摸事件&UIResponder
iOS学习笔记之触摸事件&UIResponder 触摸事件 与触摸事件相关的四个方法如下: 一根手指或多根手指触摸屏幕 -(void)touchesBegan:(NSSet *)touches ...
- vuejs学习笔记(1)--属性,事件绑定,ajax
属性 v-for 类似于angular中的 ng-repeat ,用于重复生成html片段: <ul id="box"> <li v-for="(v, ...
- node学习笔记(二)(ajax方式向node后台提交数据)
通过ajax向node后台提交数据过程(附手写前后台代码),并总结post与get的区别 POST 前台代码 //CSS简单给点样式 <style> form{ width: 200px; ...
- VueJs学习笔记
在cmd下,进入目录之后 cd 到项目目录下 1 安装node cnpm install 2 启动或者调试 cnpm start (或是npm run dev) 3 上线: npm run b ...
- 【zepto学习笔记03】事件机制
前言 我们今天直接进入事件相关的学习,因为近期可能会改到里面的代码就zepto来说,我认为最重要的就是选择器与事件相关了,随着浏览器升级,选择器简单了,而事件相关仍然是核心,今天我们就来学习学习 ze ...
- Vuejs学习笔记(一)
1) vue.js 的 主要功能 1.模板渲染 2.模块化 3.扩展功能:路由,Ajax 2) vue.js 模板渲染之双向绑定示例 message 绑定到了 input 对象,所有在in ...
- 学习笔记:IDEA、原生ajax的三道练习题、Markdown
前言 该从何说起呢?想写博客好久了,正好这个学期课很少(大三),可以静下心来写点东西(虽然事情依旧很多),总感觉记录和分享是一件很酷的事情.第一篇博客,第一次使用Markdown写博客,第一次使用ID ...
随机推荐
- DbUtils类基本使用
一.commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化 ...
- CSS中padding和margin以及用法
CSS中padding与margin 1.padding:内边距,表示控件内容相对于边缘的距离. 2.margin:外边距,表示控件边缘相对于父空间的边缘. 参考:http://www.studyof ...
- js获取浏览器宽高
IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.d ...
- nodejs中的路由
一.路由初步 url.parse(string).query | url.parse(string).pathname | | | | | ------ -------------------http ...
- TypeScript设计模式之工厂
看看用TypeScript怎样实现常见的设计模式,顺便复习一下. 学模式最重要的不是记UML,而是知道什么模式可以解决什么样的问题,在做项目时碰到问题可以想到用哪个模式可以解决,UML忘了可以查,思想 ...
- Oracle 重建控制文件
前些天在做Oracle数据库恢复测试时,因为一些异常操作导致控制文件出了问题,数据库无法正常使用,这里记录一下重建控制文件的操作 一.使用sysdba用户登入数据库 此时普通用户已无法链接数据库 二. ...
- Spring Boot启动过程(六):内嵌Tomcat中StandardHost与StandardContext的启动
看代码有助于线上出现预料之外的事的时候,不至于心慌... StandardEngine[Tomcat].StandardHost[localhost]的启动与StandardEngine不在同一个线程 ...
- 搭建ftp服务器实现文件共享
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transfer Protocol ...
- 谈谈Backbone.js中的el
小编最近开始接触backbone.js,这个曾经非常优秀的一款MVC前端框架,在学习的过程中,遇到下图的这样一个问题 下面上代码 小编的想法很简单,只是view了一个实例,然后在initalize中调 ...
- 手动编写JQUERY插件
就拿一个简单的示例来说,鼠标点击输入框,提示文字消息,鼠标移开,再显示提示文字. <script type="text/javascript"> //编写插件 (fun ...