zoukankan      html  css  js  c++  java
  • vue开发时遇到的问题

    一、对ajax请求返回的数据进行类型转换:msg=JSON.parse(msg)
    第一次打包上线后没问题,后面再次打包上线出现问题了,页面中所有的这块都报错;
    查找问题时发现msg在转换之前就已经是json格式了,解决方案如下:
    if(typeof msg=="string"){
    msg=JSON.parse(msg)
    }
    原因分析:单页面应用引发的问题,第一次执行msg=JSON.parse(msg)时把msg变成了object类型,跳转到其他页后再进页面没有刷新,javascript上下文被维持着,此时msg就是object类型
    二、加载本地测试json文件
      在根目录下加入json文件,然后修改build/dev-server.js文件
      使用node.js模板express
      如下:
    var router=app.Router()
    var banner=require('../banner.json')
    var content=require('../content.json')
    router.get('/banner.htm',function(req,res){
    res.json(banner)
    })
    router.get('/content.htm',function(req,res){
    res.json(content)
    })
    app.use(router)
      版本升级后,dev-server.js文件已经与webpack.dev.conf.js合并,所以在webpack.dev.conf.js中修改:
      1)、本地引用json文件
      const express=require('express')
      const app=express()
      var cart=require("../cart.json")
      var cartData=cart.listInfo
      var cartRoutes=express.Router()
      app.use('/api',cartRoutes)
      2)在devServer最后插入
    devServer:{
      ........
    before(app){
    app.get('/api/cart',function(req,res){
    res.json({
    errno:0,
    data:cartData
    })
    })
    }
    }
    每次修改配置和json数据需重启
    三、
    新建一个vue项目报错,查了一下是因为vue-cli版本的问题,重新安装一下即可。
    四、
      使用管理模块n升级node.js,完美失败
      网上找原因诸多未果,后面看到有人说windows不支持n,最后我重新装了node,总结了下对于某些依赖模块无法使用时,可以尝试先升级node与vue版本,更新依赖模块
    五、vuex组件中访问state报错
      TypeError: Cannot read property ‘state’ of undefined”
      在组件中使用this.$store.state.test访问state的属性报错,是因为store的实例并未注入到所有的子组件,需修改main.js
      new Vue({
      el: '#app',
      store, //将store注入到子组件
      router,
      components: { App },
      template: '<App/>'
      })
  • 相关阅读:
    vue实战使用ajax请求后台数据(小白)
    jQuery实现tab栏切换效果
    jQuery下的ajax实例
    数据库之视图更新
    SQL Server 全文索引创建
    SQL Server 分区表
    数据快照 (Database Snapshot)
    FileStream
    ODBC,OLEDB,ADO,ADO.net,JDBC 理解
    拖延症?贪玩?来试试"百万金币时间管理法"
  • 原文地址:https://www.cnblogs.com/weiyemo/p/8819296.html
Copyright © 2011-2022 走看看