《vue.js2.0从入门到放弃》学习之路
原文地址:
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作为参数,再通过拿到这个参数,来决定详情页显示什么。一开始我以为用
<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从入门到放弃》学习之路的更多相关文章
- Vue.js2.0从入门到放弃---入门实例
最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...
- 转-Vue.js2.0从入门到放弃---入门实例(一)
http://blog.csdn.net/u013182762/article/details/53021374 标签: Vue.jsVue.js 2.0Vue.js入门实例Vue.js 2.0教程 ...
- Vue.js2.0快速入门笔记
vue.js 解耦视图与数据,可复用的组件,前端路由,状态管理,虚拟DOM. MVVM模式:当View(视图层)变化时,会自动更新ViewModel(视图模型),View与ViewModel之间双向绑 ...
- vue.js2.0实战(1):搭建开发环境及构建项目
Vue.js学习系列: vue.js2.0实战(1):搭建开发环境及构建项目 https://my.oschina.net/brillantzhao/blog/1541638 vue.js2.0实战( ...
- 耗时近一个月,终于录完了VUE.JS2.0前端视频教程!
这次课录制的比较辛苦,圣诞节时原本已经快录制完成了,偶然的一次,播放了一下,感觉不满意,好几篇推倒重来,所以今天才结束. vue.js2.0是Vue.JS的最新版本,视频教程还不多,如果你看到了,学到 ...
- vue.js2.0+elementui ——> 后台管理系统
前言: 因为观察到vue.js的轻量以及实时更新数据的便捷性,于是新项目便决定使用vue.js2.0以及与之配套的elementui来完成.只是初次接触新框架,再使用过程中,遇见了各种各样“奇葩”的问 ...
- 浅谈Vue.js2.0某些概念
Vue.js2.0是一套构建用户界面的渐进式框架,目标是实现数据驱动和组件系统. A 渐进式框架 Vue.js是一个提供MVVM数据双向绑定的库,只专注于UI层面,这是它的核心.它本身没有解决SP ...
- vue.js2.0 (简易)水果商城 vuex vant-ui
vue.js2.0 (简易)水果商城 vuex vant-ui:https://segmentfault.com/a/1190000015690250 vue2.5全家桶 高仿vivo商城 百分之95 ...
- Vue.js的从入门到放弃进击录(一)
感谢我们项目组给机会,让我学了Vue.js,打开新世界大门...哈哈哈,也没有那么夸张,不过学下来确实觉得入门还是蛮容易的.我大概前前后后学了有一个月的样子,一开始只是比较急着可以写东西出来,后来因为 ...
随机推荐
- Python2/3中的urllib库
urllib库对照速查表 Python2.X Python3.X urllib urllib.request, urllib.error, urllib.parse urllib2 urllib.re ...
- Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)
<Windows Azure Platform 系列文章目录> 目前很多客户陆续的把传统ASM VM迁移至ARM VM.我这里简单介绍一下. 整个迁移过程分为: 1.Validate,Az ...
- Navicat for Mysql 暴力破解教程
关于破解Navicat for MySQL的教程有很多 ,但是比较繁琐, 这里推荐一种比较简单的办法~ 网盘地址:链接: https://pan.baidu.com/s/1kVHyShL 密码: ws ...
- [Python学习] 简单网络爬虫抓取博客文章及思想介绍
前面一直强调Python运用到网络爬虫方面很有效,这篇文章也是结合学习的Python视频知识及我研究生数据挖掘方向的知识.从而简介下Python是怎样爬去网络数据的,文章知识很easy ...
- 蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)
关键词:蓝牙核心技术协议 irDA BNEP AVDTP AVCTP 作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢! )欢迎指正错误,共同学习.共同进步!! 下载链接:Bl ...
- C# 函数式编程 —— 使用 Lambda 表达式编写递归函数
最近看了赵姐夫的这篇博客http://blog.zhaojie.me/2009/08/recursive-lambda-expressions.html,主要讲的是如何使用 Lambda 编写递归函数 ...
- spring -boot s-tarter 详解
Starter POMs是可以包含到应用中的一个方便的依赖关系描述符集合.你可以获取所有Spring及相关技术的一站式服务,而不需要翻阅示例代码,拷贝粘贴大量的依赖描述符.例如,如果你想使用Sprin ...
- mongodb设置用户名和密码
需求:我们需要在一个mongodb上面新建两个数据库,每个数据库的用户名和密码不一样,讲道理来说我们直接设置admin,就可以控制所有的数据库,不过用起来总是感觉有各种问题,目前还不太熟悉mongod ...
- git的merge功能
merge功能是将一些分支的内容合并到某一个特定的分支,这里我为了测试下,在阿里云code上面新建了一个项目 现在我需要将dev分支merge到主分支master 开发者和管理员都有权发起merge请 ...
- table常用的属性以及用法
<table><table/>先定义一个表格这个就没得讲了,<caption>表示这个表格的标题 <table border="6"> ...