1.Vue动态渲染列表------v-for用法详解:

Html

<figure v-for="list in lists">
    <div>
    <a v-bind:href=" list.big">
       <img v-bind:src="list.small">
    </a>
</div>

</figure>

<template v-for="item in items">
    <li>{{ item.msg }}</li>
    <li class="divider"></li>
  </template>

渲染在页面上的样式: < figure >...</ figure >

< figure >...</ figure >

< figure >...</ figure >

用法:

  1. 想动态增加那个元素就在其上加 :

v-for=[自定义名字] in [json中数组名字]

  1. 绑定在html中的数据用 :

(1)元素内部的属性用v-bind[属性] = [自定义名字].json数组中的属性’

(2)标签内容引用 {{ [自定义名字].json数组中的属性 }}

JS-vue-ajax

var vm = new Vue({
    el:'#main',
    data:{
        lists : '',
        honors:''
    },
    methods:{
        listMessage: function () {
            var _self = this;
            $.ajax({
                type: 'GET',
                url: 'js/json/photolist.json',
                success:function(data) {
                    _self.lists = data.lists;
                }
            });
        },
        listMessageTwo: function () {
            var _self = this;
            $.ajax({
                type: 'GET',
                url: 'js/json/photolist.json',
                success:function(data) {
                    _self.honors = data.honors;
                }
            });
        }
    },
    ready:function(){
        var _this =this;
        _this.listMessage();
        _this.listMessageTwo();
    }
})

用法:

  1. data中定义要用的到的 [json中数组名字]
data:{
    lists : '',
    honors:''
}

json中:

{{
  "lists": [
    {
      "big": "images/photo-end.jpg",
      "small":"images/photo2.jpg"
    }  ],
  "honors":[
    {
      "big": "images/photo-end.jpg",
      "small":"images/photo.png"
    }
  ]
}
 
  1. 在methods中定义一个函数,通过ajax获取数据
success:function(data) {
    _self.lists = data.lists;
}

成功获取数据后,将 json中的数组名赋值给 data中的数组名,在通过html中v-for的引用,将json数组中的数据传值到html中

注意:

methods方法中的函数需要调用才能执行,如果页面是在已进入就执行后台数据渲染的,需要在methods方法下添加 ready函数,并在其中引用ajax函数

ready:function(){
    var _this =this;
    _this.listMessage();
    _this.listMessageTwo();

索引用法:

<li v-on:click="typeNavClick($event,$index)" v-for="(index,main) in mainList" 

 

vue v-for详解的更多相关文章

  1. vue 源码详解(二): 组件生命周期初始化、事件系统初始化

    vue 源码详解(二): 组件生命周期初始化.事件系统初始化 上一篇文章 生成 Vue 实例前的准备工作 讲解了实例化前的准备工作, 接下来我们继续看, 我们调用 new Vue() 的时候, 其内部 ...

  2. vue 文件目录结构详解

    vue 文件目录结构详解 本篇文章主要介绍了vue 文件目录结构详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 项目简介 基于 vue.js 的前端开发环境,用于前后 ...

  3. Vue props用法详解

    Vue props用法详解 组件接受的选项之一 props 是 Vue 中非常重要的一个选项.父子组件的关系可以总结为: props down, events up 父组件通过 props 向下传递数 ...

  4. main.js index.html与app.vue三者关系详解

    main.js index.html与app.vue三者关系详解 2019年01月23日 11:12:15 Pecodo 阅读数 186   main.js与index.html是nodejs的项目启 ...

  5. vue 源码详解(一):原型对象和全局 `API`的设计

    vue 源码详解(一):原型对象和全局 API的设计 1. 从 new Vue() 开始 我们在实际的项目中使用 Vue 的时候 , 一般都是在 main.js 中通过 new Vue({el : ' ...

  6. 【05】Vue 之 实例详解与生命周期

    Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...

  7. Vue.js项目详解

    还是以Blog项目来讲解,最近我本人利用闲暇时间,以博客作为参考学习一些新的技术并尝试之前没有尝试过的思路来玩玩. 技术看似枯燥,但是带有一个目的来学,你会发现还是蛮有趣的. 主要实践的就是前后端分离 ...

  8. vue:vuex详解

    一.什么是Vuex? https://vuex.vuejs.org/zh-cn 官方说法:Vuex 是一个专为 Vue.js应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相 ...

  9. nodeJs+vue安装教程详解 相信

    相信很多朋友都在装node服务和安装vue的时候会遇到一些问题,下面为大家详细介绍node服务的安装以及vue的安装: 1.nodeJs官网下载版本(根据自己电脑的配置进行相应下载即可):默认安装路径 ...

  10. Vue生命周期详解

    Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...

随机推荐

  1. 巧用CSS3的calc()宽度计算做响应模式布局

    今天浏览这个http://www.sitepoint.com站时,因为好奇看了下人家写的代码,结果发现了这行代码, 于是就研究了一下,calc()从字面我们可以把他理解为一个函数function.其实 ...

  2. Parse:App开发必备 让应用开发效率提高上百倍

    Parse一个应用开发工具, 是由Y Combinator所孵化的创业公司.使用Parse能把效率提高10倍到100倍.通常情况下,从开发用户到推广用户需要花几周时间,用了Parse则只需几小时.[U ...

  3. python笔记三

    # 数据读写不一定是文件,也可以在内存中读写 # StringIO就是在内存中读写str from io import StringIO f = StringIO() # 要把str写入StringI ...

  4. 转:C语言中volatile关键字的作用 专家博客

    源地址:http://blog.csdn.net/tigerjibo/article/details/7427366 一.前言 1.编译器优化介绍: 由于内存访问速度远不及CPU处理速度,为提高机器整 ...

  5. 关于Ubuntu锁屏后,无法输入密码

    屏幕锁定后字母密码无法输入,数字可以,切换用户然后可以正常输入密码登陆. 是输入法的事,锁屏界面依然是中文输入法,然后输入字母之后先不会显示然后加上数字后是汉字密码不对. 切换输入法到英文,就可以正常 ...

  6. HDU-1698-Just a Hook-区间更新+线段树成段更新

    In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. T ...

  7. AtCoder ABC 129E Sum Equals Xor

    题目链接:https://atcoder.jp/contests/abc129/tasks/abc129_e 题目大意 给定一个二进制表示的数 L,问有多少对自然数 (a, b) 满足 $a + b ...

  8. final、static、package、import,和内部类、代码块总结

    final: final是最终修饰符,可以修饰类.成员方法.变量 final修饰的类无法被继承 final修饰的方法无法被重写 final修饰的变量无法被再次赋值,变为了常量 final修饰的引用数据 ...

  9. MySQL初始化(35-03)

    1, 在MySQL的安装目录下新建个data目录. 2,初始化mysqld --initialize-insecure

  10. mybatis-spring多数据源配置

    mybatis-spring多数据源配置 1.注意事项:在MapperScannerConfigurer里配置的时候,每个数据源的mapper接口应放到不同的包中,下面的例子中用粗体标明,另外,对于m ...