vue展示日历 考勤展示_VUE实战—菜单栏商品展示数据交互(8)
生活随笔
收集整理的這篇文章主要介紹了
vue展示日历 考勤展示_VUE实战—菜单栏商品展示数据交互(8)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上篇我們將菜單欄,商品展示結構完成,本次我們為這兩個部分接入數據。
菜單欄接入數據
導入組件,定義需要的數據格式
<script> // 導入BScroll 滾動組件 import BScroll from "better-scroll"; // 導入Food 商品頁面 import Food from "components/Food/Food"; ? export default {data() { //準備需要的數據,初始化組件。return {container: {},goods: [],poiInfo: {},listHeight: [],scrollY: 0,menuScroll: {},foodScroll: {},selectedFood: {}};},//引用組件components: {BScroll,Food} }; </script>通過created鉤子發起請求獲取數據
之前我們說過在created鉤子,mounted鉤子內可以發起請求,請求需要的數據。本次我們在created鉤子內發起get請求,獲取數據
created() {//通過that改變.then中的this指向var that = this; ?// 通過axios發起get請求this.$axios.get("/api/goods").then(function(response) {// 獲取到數據var dataSource = response.data;if (dataSource.code == 0) {that.container = dataSource.data.container_operation_source;that.goods = dataSource.data.food_spu_tags;that.poiInfo = dataSource.data.poi_info; ?// 調用滾動的初始化方法// that.initScroll();// 開始時,DOM元素沒有渲染,即高度是問題// 在獲取到數據后,并DOM已經被渲染,表示列表高度是沒問題的// nextTickthat.$nextTick(() => {// DOM已經更新that.initScroll(); ?// 計算分類區間高度that.calculateHeight();});}}).catch(function(error) {// 出錯處理console.log(error);});},注意$nextTick()用法,在dom更新后。我們執行初始化滾動函數。
https://cn.vuejs.org/v2/api/#vm-nextTick
通過methods定義我們需要的方法
- 通過head_bg(imgName)方法獲取到商品的背景圖片;
- 方法initScroll()用來初始化滾動,https://cn.vuejs.org/v2/api/#ref;
- calculateHeight()方法獲取左側每一個菜單欄目的元素;
- 使用selectMenu()方法,在我們點擊菜單后,右側顯示對應的商品信息;
computed定義屬性
- currentIndex屬性綁定在左側菜單欄,使菜單元素與右側內容作為對應,展示給用戶。
以上我們完成了商品頁面數據的交互,下一章節我們將加入商品控件,與購物車。
總結
以上是生活随笔為你收集整理的vue展示日历 考勤展示_VUE实战—菜单栏商品展示数据交互(8)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双风扇安装图解_汽车灯光标志图解,汽车灯
- 下一篇: echarts画布_vue中动态设置ec