原文地址:

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. models中的pk主键用法

    class FrontUserModel(models.Model): uid = models.UUIDField(primary_key=True,default=uuid.uuid4) emai ...

  2. 》》jquery-weui 初

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta na ...

  3. poj 1087 A Plug for UNIX 【最大流】

    题目连接:http://poj.org/problem? id=1087 题意: n种插座 ,m个电器,f组(x,y)表示插座x能够替换插座y,问你最多能给几个电器充电. 解法:起点向插座建边,容量1 ...

  4. XML文档读取-DOM4j

    JAXP是sun公司官方提供的java解析工具包,但很多其他企业和机构也都开发了自己的xml解析工具,甚至比JAXP更加优秀,比如DOM4J. Dom4j是一个简单.灵活的开放源代码的库.Dom4j是 ...

  5. ASP.NET Core 使用 Alipay.AopSdk.Core 常见问题解答

    1.Alipay.AopSdk.Core.AopException:"您使用的私钥格式错误,请检查RSA私钥配置,charset = UTF-8" 出现这个问题,就是配置不正确.首 ...

  6. redis中与key相关的命令

    1.简单描述 redis本质上是一个key-value db,value可以有多种类型(string.hash.set.sorted set.list等),本章节不讲这些类型的命令,这里是讲跟key相 ...

  7. 虚拟机修改静态ip

    1.设置虚拟机的网络选择方式,使用NAT模式,选择这个模式后网段与主机的网段不是一个网段,一般选择桥接模式 2.选择VMnet8, 去掉 使用本地DHCP服务将ip分配给虚拟机 这个选项,不然设置ip ...

  8. .NET 绝对路径的配置

    有时候因为用IIS配置网站,会导致一些全局引用有路径问题无法引用到.今天就说一下,关于全局引用的绝对路径的配置,譬如,由于IIS配置的虚拟路径,一些CSS,JS的引用找不到,又或者自定义的一些跳转出现 ...

  9. HTML页面中JavaScript能获取到的各种屏幕大小信息

    在HTML页面中,通过JavaScript代码访问 window 对象,能够获取到很多表征屏幕大小的信息,下面列举并加以区分. window 对象中的屏幕信息 window.innerheight. ...

  10. iOS 单利模式实现/优缺点

    感谢此文章提供摘要: http://www.cnblogs.com/lyanet/archive/2013/01/11/2856468.html 优缺点:http://blog.csdn.net/ta ...