原文地址:

Vue.js2.0从入门到放弃---入门实例(一):http://blog.csdn.net/u013182762/article/details/53021374

Vue.js2.0从入门到放弃---入门实例(二):http://blog.csdn.net/u013182762/article/details/53027883

Vue.js2.0从入门到放弃---入门实例(三):http://blog.csdn.net/u013182762/article/details/53488870

有幸看到作者的这3篇从入门到放弃,带我真正开始了vue.js的旅程,看完了这3篇文章,坑也踩了不少,不过还好,最后还是完美落幕,把详情页也补充进来了。

因为我是有安装eslint的,所以对代码的格式要求很高,哪怕一个空格都不会放过,作者在入门实例(三)里面有提到,按照他的代码是会报很多错误的,不过我已经把错误都解决的了,简单罗列几个,如果还有别的error可以一起解决~

在main.js文件里面,new实例前面要加上这2句注释。

/* eslint-disable no-new */
/* eslint-disable no-unused-vars */
new Vue({
el: '#app',
data () {
return {
transitionName: 'slide'
}
},
router,
watch: {
'$route' (to, from) {
const toDepth = to.path.substring(0, to.path.length - 2).split('/').length
const fromDepth = from.path.substring(0, from.path.length - 2).split('/').length
this.transitionName = toDepth < fromDepth ? 'slide_back' : 'slide'
}
}
})

home.vue文件里面的list标签,有for循环,所以要加上key值

<div class="content">
<ul class="cont_ul">
<list v-for="(item, index) in items" :price="item.price" :title="item.title" :img="item.img" :key="item.id" :index="index"></list>
</ul>
</div>

详情页主要是要拿到li里面的内容,那就必须拿到li的index,所以在home.vue里面循环的时候要把index定义出来,上面代码已经有了。我的处理方法是把跳转的地址加上index作为参数,再通过拿到这个参数,来决定详情页显示什么。一开始我以为用

this.$route.query拿到是就是个数值,没想到这样拿到的居然是个对象,就只能再处理一遍了。details是我自己在json文件里面加的值,用于显示详情的,可以自由更改。以下是Detail.vue里面的代码,css没变,我就不再重复:
<template>
<div class="detail"> <detail-header></detail-header> <img :src=imgSrc alt=""> <p>{{details}}</p> </div>
</template>
<script>
import DetailHeader from '../components/DetailHeader' export default {
data () {
return {
imgSrc: '',
details: ''
}
},
components: {
DetailHeader
},
created () {
this.fetchData()
},
methods: {
fetchData () {
this.$http.get('/api/books')
.then(res => {
var i = this.$route.query
var result = res.data
for (var key in i) {
this.imgSrc = result.data[key].img
this.details = result.data[key].details
}
}, error => {
console.log(error)
})
}
}
}
</script>

DetailHeader.vue的代码:

<template>
<header class="header"> <div class="header_inner flexWrap"> <div id="header_btn_nav" class="header_btn header_btn_back" v-on:click="goBack">返回</div> <div class="header_cont flex">{{title}}</div> <div class="header_btn header_btn_cart"></div> </div> </header>
</template> <script>
import List from '../components/List'
export default {
data () {
return {
title: ''
}
},
methods: {
goBack () {
window.history.back()
},
fetchData () {
this.$http.get('/api/books')
.then(res => {
var i = this.$route.query
var result = res.data
for (var key in i) {
this.title = result.data[key].title
}
}, error => {
console.log(error)
})
}
},
components: {
List
},
created () {
this.fetchData()
}
}
</script>

这detail的文件里面有重复的脚本,我想应该还是可以再优化的,目前水平还不够,只是能实现功能,要是有大神指导请多多赐教。

自身不足:

组件之间的通信

函数与html之间的联系

数据的请求

《vue.js2.0从入门到放弃》学习之路的更多相关文章

  1. Vue.js2.0从入门到放弃---入门实例

    最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...

  2. 转-Vue.js2.0从入门到放弃---入门实例(一)

    http://blog.csdn.net/u013182762/article/details/53021374 标签: Vue.jsVue.js 2.0Vue.js入门实例Vue.js 2.0教程 ...

  3. Vue.js2.0快速入门笔记

    vue.js 解耦视图与数据,可复用的组件,前端路由,状态管理,虚拟DOM. MVVM模式:当View(视图层)变化时,会自动更新ViewModel(视图模型),View与ViewModel之间双向绑 ...

  4. vue.js2.0实战(1):搭建开发环境及构建项目

    Vue.js学习系列: vue.js2.0实战(1):搭建开发环境及构建项目 https://my.oschina.net/brillantzhao/blog/1541638 vue.js2.0实战( ...

  5. 耗时近一个月,终于录完了VUE.JS2.0前端视频教程!

    这次课录制的比较辛苦,圣诞节时原本已经快录制完成了,偶然的一次,播放了一下,感觉不满意,好几篇推倒重来,所以今天才结束. vue.js2.0是Vue.JS的最新版本,视频教程还不多,如果你看到了,学到 ...

  6. vue.js2.0+elementui ——> 后台管理系统

    前言: 因为观察到vue.js的轻量以及实时更新数据的便捷性,于是新项目便决定使用vue.js2.0以及与之配套的elementui来完成.只是初次接触新框架,再使用过程中,遇见了各种各样“奇葩”的问 ...

  7. 浅谈Vue.js2.0某些概念

    Vue.js2.0是一套构建用户界面的渐进式框架,目标是实现数据驱动和组件系统.   A 渐进式框架 Vue.js是一个提供MVVM数据双向绑定的库,只专注于UI层面,这是它的核心.它本身没有解决SP ...

  8. vue.js2.0 (简易)水果商城 vuex vant-ui

    vue.js2.0 (简易)水果商城 vuex vant-ui:https://segmentfault.com/a/1190000015690250 vue2.5全家桶 高仿vivo商城 百分之95 ...

  9. Vue.js的从入门到放弃进击录(一)

    感谢我们项目组给机会,让我学了Vue.js,打开新世界大门...哈哈哈,也没有那么夸张,不过学下来确实觉得入门还是蛮容易的.我大概前前后后学了有一个月的样子,一开始只是比较急着可以写东西出来,后来因为 ...

随机推荐

  1. Scala入门系列(十三):类型参数

    引言 Scala中类型参数是什么呢?其实就类似于Java中的泛型.定义一种类型参数,比如在集合.类.函数中定义类型参数,然后就可以保证使用到该类型参数的地方就只能是这种类型,从而实现程序更好的健壮性. ...

  2. hadoop单机版安装及基本功能演示

    本文所使用的Linux发行版本为:CentOS Linux release 7.4.1708 (Core) hadoop单机版安装 准备工作 创建用户 useradd -m hadoop passwd ...

  3. Java-----关于线程池的使用

    关于线程的相关概念不在此阐述,请百度或谷歌之 对于学习线程来说,我认为从代码开始学习比较好,前提是有一定的技术的积累,否则请关闭不用再看了~ 线程池四种实现方式. ①可缓存线程池,如果线程池长度超过处 ...

  4. C language 模拟 win的经典游戏——扫雷

    让我们在terminal下愉快的...扫雷 昨天跟奇葩霖聊起"雷区"这个敏感词汇,然后非常荣幸的... 应该轰炸不到我.. . 后来百无聊赖的去玩了把扫雷.然后发现我之前都是乱扫的 ...

  5. 【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现

    CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成 ...

  6. Ubuntu下errno值

    Ubuntu下errno值             每当一个Unix函数(如socket函数)中错误发生时,全局变量errno将被设置成一个指示错误类型的正整数,假设函数不返回错误,errno的值就未 ...

  7. hdu 5078 Osu! (2014 acm 亚洲区域赛鞍山 I)

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=5078 Osu! Time Limit: 2000/1000 MS (Java/Others)     ...

  8. gcc 源代码分析-前端篇3

    3. GCC怎样函表示一个函数   对c语言来说.函数是其核心,全部的东西都在环绕着函数在转.对于一个函数来说.它基本的一些特性例如以下:    1. 有一个返回值,在这里我们没有把返回值的函数觉得它 ...

  9. windows下 安装 rabbitMQ 及操作常用命令(操作创建用户密码 角色等)

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rab ...

  10. 学习rollup.js模块文件打包

    学习rollup.js模块文件打包 一:rollup 是什么?Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码. webpack 和 Rollup 对比不同点 ...