这是全部代码,目前遇到几个问题
1 2 3 4 5 6 | export const sliderOptions={ direction: 'horizontal' , loop: true , interval:5000, pagination: true }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <template> <transition name= "product" > <div class= "product" > <header class= "g-header-container" > <product-header></product-header> </header> <me- scroll > <product-slider :slider= "products" ></product-slider> <product-content></product-content> </me- scroll > </div> </transition> </template> <script> import {getProductDetail} from 'api/product' ; import ProductHeader from './header' ; import MeScroll from 'base/scroll' ; import ProductSlider from './slider' ; import ProductContent from './content' ; export default { name: 'Product' , components:{ ProductHeader, MeScroll, ProductSlider, ProductContent }, data(){ return { products:{} }; }, created(){ getProductDetail(this.$route.params.id).then(data => { console.log(data.data); this.products=data.data; }); } }; </script> <style lang= "scss" scoped> @import "~assets/scss/mixins" ; .product { overflow : hidden ; position : absolute ; top : 0 ; left : 0 ; z-index : $product-z-index; width : 100% ; height : 100% ; background-color : $bgc-theme; } .product-enter-active, .product-leave-active { transition: all 0.3 s; } .product-enter, .product-leave-to { transform: translate 3 d( 100% , 0 , 0 ); } .product-enter-to{ transform: translate 3 d( 0 , 0 , 0 ); } </style> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | < template > < div class = "slider-wrapper" > <me-loading :text= "'加载中'" v- if = "!sliders.length" ></me-loading> <me-slider :direction= "direction" :loop= "loop" :interval= "interval" :pagination= "pagination" :datas= "sliders" v- else > <swiper-slide v- for = "(item,index) in sliders" :key= "index" > <a href= "#" class = "slider-link" > <img :src= "item" alt= "pic" class = "slider-img" > </a> </swiper-slide> </me-slider> </ div > </ template > <script> import MeSlider from 'base/slider' ; import {swiperSlide} from 'vue-awesome-swiper' ; import {getProductDetail} from 'api/product' ; import {sliderOptions} from './config' ; import {getHomeSlider} from 'api/home' ; import MeLoading from 'base/loading' ; export default { name: 'HomeSlider' , components:{ MeSlider, MeLoading, swiperSlide }, data(){ return { direction:sliderOptions.direction, loop:sliderOptions.loop, interval:sliderOptions.interval, pagination:sliderOptions.pagination, sliders:[] }; }, props:{ slider:{ type:[Object,Array] } }, watch: { slider(slider){ this .sliders=slider; //console.log(this.sliders); } } // created(){ // this.getSliders(); // }, // methods:{ // getSliders(){ // getProductDetail(this.$route.params.id).then(data => { // //console.log(data.data); // this.sliders=data.data.item.images; // }); // } // } }; </script> <style lang= "scss" scoped> .slider-wrapper{ height: 300px; } .slider-link{ display: block; } .slider-link,.slider-img{ width: 100%; height: 100%; } </style> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | < template > < div > < div > <p>¥{{content.seller.allItemCount}}</p> <p>{{content.seller.newItemCount}}件已售</p> </ div > </ div > </ template > <script> import {getProductDetail} from 'api/product' ; export default { data(){ return { content:{} }; }, created(){ this .getContent(); }, methods:{ getContent(){ getProductDetail( this .$route.params.id).then(data => { //console.log(data.data); this .content=data.data; }); } } }; </script> <style lang= "scss" scoped> </style> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <template> <me-navbar class= "header" > <i class= "iconfont" slot= "left" @click= "goBack" > 60 d;</i> <p slot= "center" >商品详情</p> <i class= "iconfont" slot= "right" > 501 ;</i> </me-navbar> </template> <script> import MeNavbar from "base/navbar" ; export default { name: 'ProductHeader' , components:{ MeNavbar }, data(){ return{ }; }, methods:{ goBack(){ this.$router.back(); } } }; </script> <style lang= "scss" scoped> @import "~assets/scss/mixins" ; .header{ background-color : $header-bgc-translucent; color : white ; p{ text-align : center ; } } </style> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import jsonp from 'assets/js/jsonp' ; import {jsonpOptions} from './config' ; export const getProductDetail=(id) => { const url = 'https://unszacs.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/' ; const params={ api: 'mtop.taobao.detail.getdetail' , ttid: '2017@taobao_h5_6.6.0' , data:`{ "itemNumId" : "${id}" }`, appkey: 12574478 , dataType: 'jsonp' , type: 'jsonp' }; return jsonp( url ,params,jsonpOptions).then(res =>{ //console.log(res); if(res.ret[ 0 ]=== "SUCCESS::调用成功" ){ return res; } throw new Error( '没有成功获取数据' ); }).catch(err => { if(err){ console.log(err); } //等价于return undefined; }).then(data =>{//测试用,可以整体删除 return new Promise(resolve =>{ setTimeout(() => { resolve(data); }, 1000 ); }) }); } |
1、content获取的数据无法绑定在页面上,报错了
2、我想通过父组件传给子组件数据,尝试失败,即slider,图片找不到了
3、
我获取的数据和老师获取的数据不一致,什么原因
4、这个页面所需要的数据老师能不能帮我整理下,我找不到
(价格、“味道不错”之类的评价、logo图标链接、发货地址、商品评价展示(一段话)、商店名称)
正在回答 回答被采纳积分+1
同学你好,其他问题,可以参考如下问答:
http://class.imooc.com/course/qadetail/213685
另外,因为这个是第三方接口,即使老师去做,也是一个一个的去找。数据很多,的确要费一点功夫,每一个同学在做这个作业时,都是自己耐心的去找数据,去尝试的,最终完成的。这个问题不像一道难题,无论怎么思考都想不到方法。只要自己静下心一点一点的整理,是可以做出来的。同学现在已经学到最后一个阶段了,如果还像小白入门那样每一步都是老师为你做好,那么你是没有什么成长的。哪怕使用的数据有一些不对,也比让别人帮你做好强。工作中,也会遇到使用第三方接口的问题,难道那个时候同学要让同事或者领导帮你整理吗?如果真是这样,公司会认为你能力很差,无法胜任这份工作的。
老师说的话有一些沉重了,但是也是为了同学好,毕竟最近一个阶段结束后,可能要面临找工作了。如果这个时候,还不去提升自己独立思考与解决问题的能力,那么以后的工作就真的是寸步难听了。希望同学加油哦,相信自己是可以的 !
祝学习愉快 ~
同学你好,第三个问题,老师已经在你的另一个问题中进行了回复,可以查看问题:
https://class.imooc.com/course/qadetail/213683
其他的问题,老师通过私信帮助你解决哦。
祝学习愉快~
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧