今天分享个自己在工作中遇到的头疼问题,记录下,在使用pinia时,引入use模块,h5端没问题,我使用的是vue3,运行在APP端一直报错:
reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->
at useStore (app-service.js:9864:15)
at (app-service.js:16358:3)
at (app-service.js:29793:3)
琢磨了几小时,最终发现问题所在了,原因是我在useUser时,是在setup函数外调用的,以下是我的错误代码示例
<script>
import { useUser } from '@/store/user.js'
const userTask = useUser() // 不能在setup外中使用,会报错
export default {
setup() {
...
}
}</script>解决方案:
1. 使用setup语法糖
<script setup>import { useUser } from '@/store/user.js'const userTask = useUser() // 在setup语法糖中使用</script>2. 在setup函数内使用
<script>
import { useUser } from '@/store/user.js'
export default {
setup() {
const userTask = useUser() // 在setup函数中使用
...
}
}</script>问题解决!
由于工作需要长期使用Ajax,一个页面重复的AJAX请求太多,于是封装起来,只需要编写回调函数/* ------------- 使用方法: 1.ajaxrequest()函数执行准备的参数(1.请求地址2.发送数据字符串拼接3.type值可选get/post4.回调函数名称) exam...
WebSql的原理是浏览器集成了sqllite数据库,Js操作,浏览器协助完成,没有多复杂。<!-- 三个核心方法  ...
维护老项目中客户提到一个页面中有6个表单以上,导致每次保存一个其他的数据全部丢失,自己比较懒没有全部更换为ajax.用户每次输入完成或者选择完成记录cookie,每次提交后加载页面完成初始化cookie即可。以下代码取自w3school比较完善,之前在其他博客使用的经常出现bug,这个比较推荐使用:...
//字面量的形式创建原型对象 /* function Box(){} Box.prototype={ 'name':'gao', age:23, fun:function(){ return this.name+'--'+...
//原型的缺点 function Box(){} Box.prototype={ 'name':'gao', age:23, family:['哥哥','姐姐','妹妹'], &...
在es5的时候变量只能通过+号拼接,es6种允许将变量放在大括号之中。有点类似php和c#对字符串的操作。 <script type="text/javascript"> &n...