上线注意事项

vue项目

项目使用npm run dev,生成可上线的dist目录。
遇到的问题

1、路径前加 .
在config文件夹下的index.js文件中,有build一栏,

assetsPublicPath:'./'

2、请求接口的路径复制到开发环境一份
在config文件夹下的prod.env.js文件中,复制dev.env.js中的API_URL

3、请求图片,图片路径有误
build文件夹下,utils.js文件
fallback:'vue-style-loader’前,加一句
publicPath:"…/…/"

在使用Element UI 时点击同一个路由,控制台报错,但不影响使用

在路由配置的index.js中,添加如下配置

const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}

element组件 表格怎么绑定id值

<el-table-column label="操作">
    <template slot-scope="scope">
        <el-button type="danger" icon="el-icon-delete" circle @click="handleDelete(scope.row._id)"></el-button>
    </template>
</el-table-column>

再写方法:

handleDelete(index) {
    console.log(index);
}

assets文件里的图片

当img标签里的图片是动态变化的,如果图片不是从后台获取,是在assets文件里时,要现在data里初始化其值用require的方式,具体如下:

data(){
		return{
			list:[{
				picurl:require('@/assets/img/top15on.jpg')
			}]
		}
	}

vue-cli使用插槽

先定义一个插槽组件,如果没有内容时,默认显示。slot中的内容为默认的。

<template>
	<div class="add">
		<slot>{{ this.message }}</slot>
	</div>
</template>

<script>
	export default{
		name:'add',
		data(){
			return{
				message:'没有购物车信息时,显示我'
			}
		}
	}
</script>

使用此插槽时,
首先

import ADD from './CartChild';

然后定义组件

components:{
	ADD
}

最后使用定义的组件,如果组件中包括的有内容,就不显示中的默认内容,显示组件标签中的内容。

<ADD>
	<p>有购物车信息时,显示购物车信息</p>
</ADD>

使用vant的AddressEdit地址编辑组件

地址组件需引入area.js
文件地址,下载放到你的项目文件中

https://github.com/youzan/vant/tree/dev/src/area/demo/area.js

使用时:
先引入:

import areaList from '../assets/js/area';

areaList:areaList使用

Vue中直接使用tap事件

(1)npm i v-tap -D
(2)Main.js中引入 import vueTap from ‘v-tap’; Vue.use(vueTap);
(3)使用 <button v-tap="{methods:tap,index:'hello',haha:'haha'}">vtap</button>
(4)方法中定义

tap(event){
      console.log(event)
    }
可得到传递的参数

Methods 函数名 eg:index为传参

上线时,出现图片路径错误的问题

最后,在build文件夹中,utils.js文件,fallback:"vue-style-loader"上面的一句配置,

publicPath:"../../",即可成功解决此问题。

ActionSheet上拉菜单

<div id="action_sheet">
	<van-button type="primary" @click="alertMenu">弹出菜单</van-button>
	<van-action-sheet v-model="show" :actions="actions" cancel-text="取消" round 

@cancel="toCancel" @select="onSelect" />
</div>

返回data

msg: '',
show: false,
actions: [{
		name: '选项1'
	},
	{
		name: '选项2'
	},
	{
		name: '选项3',
		subname: '描述信息'
	}
],

返回方法

alertMenu(){
	this.show = true;
},
onSelect(item){
	console.log(item);
	this.show = false;
	this.$toast({
		message:item.name,
		duration:500
	})
},
toCancel(){
	console.log('点击了取消');
},

AddressList地址列表

<van-address-list
  v-model="chosenAddressId"
  :list="list"
  :disabled-list="disabledList"
  disabled-text="以下地址超出配送范围"
  @add="onAdd"
  @edit="onEdit"
/>

默认选择的那一项

chosenAddressId: '1'

list返回数据中,id和chosenAddressId相等,表示点中。

购物车需定义多选框

mounted生命周期钩子函数中,需调用axios获取到数据,先给每个数据设置checked,再赋值。
(注:此顺序不可调换)

let arr = data.data;
arr.map((item)=>{
	item.checked = false;
})
this.list = arr;

步进器

步进器有@plus=plus() @minus=minus() 两个函数,传对应的id值,
调用axios时,直接传 1 或 -1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值