原文地址:

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. 【Hdu3555】 Bomb(数位DP)

    Description 题意就是找0到N有多少个数中含有49. \(1\leq N \leq2^{63}-1\) Solution 数位DP,与hdu3652类似 \(F[i][state]\)表示位 ...

  2. C. Kyoya and Colored Balls(Codeforces Round #309 (Div. 2))

    C. Kyoya and Colored Balls Kyoya Ootori has a bag with n colored balls that are colored with k diffe ...

  3. HVR又一次load的时候须要将schedule suspend掉

    今天在进行HVR的又一次load的时候.报错了: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fi ...

  4. Linux性能及调优指南(翻译)之Linux进程管理

    本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.1节的翻译原文地址:http://www.redbooks.ibm.com/redpap ...

  5. hihoCoder_二分&#183;归并排序之逆序对

    一.题目 题目1 : 二分·归并排序之逆序对 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 在上一回.上上回以及上上上回里我们知道Nettle在玩<艦これ&g ...

  6. XML解析之SAX

    今天在敲代码的时候,想要实现地址选择功能,就是那个能够选择省.市.县的一个,用到的一个开源框架Android-PickerView,当然他这个里面尽管实现了能够选择的城市列表.可是他这是自己创建的,可 ...

  7. Android View动画效果—透明效果,旋转效果(二)

    一:动画效果 方法一:动画效果用AlphaAnimation类.直接加入 AlphaAnimation aa = new AlphaAnimation(0,1); //设置透明度 aa.setDura ...

  8. TCP服务端开发为例--web开发不同url请求走不同control方法

    拿java的web开发为例子,相信有很多小伙伴是做j2EE开发的,htpp请求,json数据传输都是工作中经常用的,查询请求,添加请求,修改请求前端配个url,例如https://localhost/ ...

  9. 关于UTF8文件带BOM头可能会引起的错误解析

    今天在做一个文件上传的项目中碰到了一个十分奇怪的问题,在解析上传上来的csv文件时,总是在解析第一行的第一个标题字段时出错,就是第一个那个字段总是和对应的model字段对应不上,这个坑是真的很深,找了 ...

  10. java与数据库

    工具:mysql: java eclipse,phpstudy. 以MySQL为例 java连接MySQL可能你在度娘的帮助下,又设置环境变量又改这改那的,结果还是没有连接成功. 今天我来分享一下不需 ...