关于vue开发的常见问题
一、vue单页面回退丢失参数的问题
可能有些跟我一样的新手同学会遇到一个问题,就是比如我从商品详情跳转到购物车,没问题,但是,购物车页面中点击浏览器的回退按钮,返回到detail页面时,你的动态数据(图片啊,名称啊,价格啊什么的)不见了,只剩下一堆css样式架子在那里,很难受。
这就是单页面回退参数丢失的问题,话不多说,直接说解决方法。
1、首先,我们需要了解一下Vuex。(状态管理)具体大家百度vuex
在vue-cli工程中
npm安装:npm i vuex --save
引入到项目mian.js中:
import Vuex from 'vuex'
Vue.use(Vuex);
定义一个常量
const store = new Vuex.Store({
state: {
songInfo:''
},
mutations: {
//定义函数,比如我要获取songInfo
getSongInfo(state, songInfo) {
state.songInfo = songInfo;
}
}
});
然后全局的vue中加上去store
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
})
这样,我们main.js的部分就做好了,那么页面部分怎么做呢
我们既然要获取,就要先存
在你存数据的vue页面中,id是参数,可以是数组,变量什么的,要不要看你自己需求
save(id){
//console.log(id);
this.$store.commit("getSongInfo", id);
}
然后接下来就是在你想要获取数据的页面获取储存的东东了
computed:{
hereIsYourData(){
return this.$store.state.songInfo;
}
}
为什么加了个computed计算属性呢?我觉得挺方便的。看看这里说的
https://cn.vuejs.org/v2/guide...
顺便你可以加深对watch和conputed的理解
计算属性默认只有 getter ,不过在需要时你也可以提供一个 setter
然后,解决完毕!嘻嘻嘻
二、webpack打包工程上线后,你发现开发者工具的source看到了源码
对,webpack上线配置错了。去到config文件夹下的index.js,里面有个build的内容,把其中的productionSourceMap改成false
三、凡是修改了项目的配置,都要重新npm run dev 哟,因为热重载一般是自动更新修改的页面
四、vue的Post请求到后台语言(php,java,asp啥的),发现post不出去,不报错又没效果
解决方案:加上{emulateJSON: true}。例如:
this.$http.post("url", {
//参数
},{emulateJSON: true}).then(function(res) {
//suc
});
五、发现webpack打包后,页面是空的
可能你的路由mode是history,要改成hash,一般默认是hash。
。。。就大概说这些吧,想不起来了。。。我只是个初学者。。。
最后link一下算是带我入门的导师,慕课网的河畔一角,看了他的视频,讲的很棒
https://coding.imooc.com/clas...
还有我的项目,大家喜欢的话,可以找我要源码,同时跪求!跪求!有大神可以指点我一下子!
http://111.230.91.125:3000/#/
http://111.230.91.125:8080/Vshop/view/index.html
如果你觉得文章不错的话,点个小赞呗,谢谢谢谢,嘻嘻嘻!
关于vue开发的常见问题的更多相关文章
- 【原创】windows下搭建vue开发环境+IIS部署
[原创]win10下搭建vue开发环境 如果要转发,请注明原作者和原产地,谢谢! 特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图: 详细的安 ...
- vue开发体验
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- vue开发环境搭建及热更新
写这篇博客的目的是让广大的学者在初入Vue项目的时候少走些弯路,虽然现在有很多博客也有差不多的内容,但是博主在里面添加了一些学习时碰到的小问题.在阅读这篇博客之前,我先给大家推荐一篇文章<入门W ...
- 用Vue开发一个实时性时间转换功能,看这篇文章就够了
前言 最近有一个说法,如果你看见某个网站的某个功能,你就大概能猜出背后的业务逻辑是怎么样的,以及你能动手开发一个一毛一样的功能,那么你的前端技能算是进阶中高级水平了.比如咱们今天要聊的这个话题:如何用 ...
- 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)
我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H ...
- 使用vue开发项目需要注意的问题和可能踩到的坑
最近,在公司给一些刚刚使用vue进行开发的同学做了一次分享, 其中包括一些vue开发中需要注意的点, 以及一些可能会踩到的坑.具体内容如下: 一.生命钩子使用需要注意的地方 1.beforeCreat ...
- vue开发项目详细教程(第一篇 搭建环境篇)
最近做vue做项目碰到了不少坑,看了三天文档便开始上手做项目了,不是我牛b,是因为项目紧,我没有时间去深入学习,所以只能一边学一边做了. 我要做的项目是一个官方网站(包括管理后台),也因为是我第一次使 ...
- windows下搭建vue开发环境+IIS部署
原创]win10下搭建vue开发环境 https://www.cnblogs.com/ixxonline/p/6007885.html 特别说明:下面任何命令都是在windows的命令行工具下进行输 ...
- 从零开始搭建vue开发环境及构建vue项目
1.安装node.js 安装完成之后,打开dos(windows+R或者直接windows键打开,输入cmd,按回车键)窗口,输入命令node -v可以查看安装的 node.js版本 node.js自 ...
随机推荐
- 状压DP常用操作
1. 判断一个数字x二进制下第i位是不是等于1. 方法:if ( ( ( 1 << ( i - 1 ) ) & x ) > 0) 将1左移i-1位,相当于制造了一个只有第i位 ...
- PerPoly Collision(用物体本身模型做碰撞)
打开static mesh editor,在static mesh settings里找到collision complexity选项,选择最后一项: Use Complex collision as ...
- Oulipo (poj3461
Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29759 Accepted: 11986 Descript ...
- PHP Trait特性
php类的单继承性,无法同时从两个基类中继承属性和方法,为了解决这个问题,使用Trait特性解决. Trait是一种代码复用技术,为PHP的单继承限制提供了一套灵活的代码复用机制. 用法:通过在类中使 ...
- 阿里云code下载代码和更新代码
1- 本地新建一个文件夹,进入文件夹下面右击打开git 2- Git init初始化一个.git文件夹 3- Git clone git@code.aliyun.com:username/space- ...
- flask中获取request的参数的方法
request请求总体分为两类: 1.get请求 访问时会在地址栏直接显示参数不安全,且参数大小比较小. 2.post请求 参数不显示在地址栏,一般用户注册.登录都通过post请求完成. flask获 ...
- PowerShell 字符串操作--转载
格式化操作符 –F 在PowerShell文本操作符中非常重要,经常被用来增强数字类型和日期类型的可读性: "{0} diskettes per CD" -f (720mb/1.4 ...
- PHP-密码和token
密码 直接 md5 和 sha1 不安全!!! crypt() 和 hash_equals(): http://php.net/manual/zh/function.crypt.php <?ph ...
- Skyline(6.x)-Web二次开发-多窗口对比
GitHub 上获取源码 1. 打开个 3D 窗口 一个页面加载多个 TerraExplorer3DWindow 和 SGWorld 等只有第一个能用(即使用 iframe 也是一样) 所以我决定打开 ...
- 批量执行SQL脚本
新建文件夹all_sql,并将需要执行的sql脚本放入其中. 新建bat脚本,执行即可,ORACLE 也可改Mysql,按需:如下 ::echo off :: @echo off echo 开始执行数 ...