vuejs学习笔记(1)--属性,事件绑定,ajax

属性

v-for 相似于angular中的 ng-repeat ,用于重复生成html片断;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对象格式的。vue

 

v-show 与angular中的 ng-show 是同样的,值为 true 则显示,false 则隐藏(display:none)。jquery

v-model 与angular中的 ng-model 同样,主要用于input元素值的绑定。es6

v-bind: 用于绑定属性值;ajax

<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' 。
json

v-bind: 的简写形式,如 v-bind:class 能够写成 :class ,  v-bind:src 能够写成 :src ,推荐使用简写。跨域

事件绑定

vuejs中使用 v-on:click="fn()" 的形式绑定事件:promise

<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

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 能够参考这篇博客 大白话讲解Promise(一)

$http也支持 post(), jsonp()跨域 等方法。 

相关文章
相关标签/搜索