vuejs学习笔记(1)--属性,事件绑定,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()跨域 等方法。

时间: 2024-10-14 19:41:55

vuejs学习笔记(1)--属性,事件绑定,ajax的相关文章

jquery 深入学习笔记之一 (事件绑定)

[jquery 事件绑定] 1.添加元素事件绑定 (1) 添加事件为当前元素 $('p').on('click',function(){ //code here ... }); (2) 添加事件为未来元素(动态添加元素) $(document父).on('click','p子',function(){ //code here... }) 注意前后俩者对象是父子关系(只要是父子均可) (3) 多个事件同时绑定 $(document).ready(function(){ $("p").on

Swift学习笔记(13)--属性 (Properties)

普通属性用var和let即可,本文不做详述 1.延迟存储属性 延迟存储属性是指当第一次被调用的时候才会计算其初始值的属性.在属性声明前使用@lazy来标示一个延迟存储属性. class DataImporter { /* DataImporter 是一个将外部文件中的数据导入的类. 这个类的初始化会消耗不少时间. */ var fileName = "data.txt" // 这是提供数据导入功能 } class DataManager { @lazy var importer = D

HTML学习笔记——disabled属性

1.适用范围:HTML中的input元素.option元素 2.作用:禁用元素.被禁用的 input 元素既不可用,也不可点击. 3.示例: ①如下代码的button元素都处于禁用状态 <input type="button" disabled="false" value="测试按钮"> <input type="button" disabled="123" value="测试按

iOS学习笔记之触摸事件&amp;UIResponder

iOS学习笔记之触摸事件&UIResponder 触摸事件 与触摸事件相关的四个方法如下: 一根手指或多根手指触摸屏幕 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 一根手指或多根手指在屏幕上移动(随着手指的移动,相关的对象会持续发送该消息) -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; 一根手指或多根手指离开屏幕 -(void)

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] } });

VueJs学习笔记

在cmd下,进入目录之后 cd 到项目目录下 1 安装node cnpm install 2 启动或者调试 cnpm start (或是npm run dev) 3 上线: npm run build -------------------------------------------------------------------- # install dependencies npm install # serve with hot reload at localhost:8080 npm

学习笔记 intent属性

Android开发学习笔记:Intent的简介以及属性的详解 2011-08-08 17:20:48 标签:Intent 移动开发 Android 休闲 详解 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/634411 一.Intent的介绍 Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Inte

HTML 学习笔记 JQuery(事件)

加载DOM 以浏览器加载文档为例,在页面加载完毕后,浏览器会通过JavaScript为DOM元素添加事件.在常规的JavaScript中,通常使用window.onload方法,在JQuery中通常使用$(document).ready()方法.$(document).ready()方法是事件模块中的一个重要的函数.可以极大的提高web应用程序的响应速度.JQuery就使用$(document).ready()就是用来替代window.onload的.通过使用该方法,可以在DOM载入就绪时就对齐

C++学习笔记38:事件机制

事件基本概念 操作系统或应用程序内部发生某件事,程序的某个组件需要响应该事件,并进行特定处理 面向对象架构中,事件响应函数最可能为成员函数 问题:指向类成员函数的指针不能转换为哑型指针void *,也不能随意转换为指向另一个类的成员函数的指针 解决方案:使用指向指向类成员函数的指针的指针 实现策略:事件委托模型 Event类模板:管理事件响应者对象,实现事件多播 EventResponsor类模板:响应者对象与响应者行为配对 Empty类:委托模型和指针转换 #include <iostream