1.项目目录结构

  

  1.components------------------------->页面中所用的公共组件;

    2.router index.js --------------------->存储路由信息

  3.store  actions.js  ------------------>处理vuex action操作信息 

      getters.js-------------------->获取vuex index.js中定义的属性值

      index.js---------------------->定义vuex的属性值,mutations对象函数等;

      api.js------------------------->处理views页面组件中网络请求处理
  4.views-------------------------------->SPA页面组件
  5.static--------------------------------->项目中需要用到的图片 css和 common js等;

  

2.理解和问题总结

1.css 导入方式

  @import "../static/common/css/common.css";
@import "../static/common/css/main.css";

 

1.关于创建根app的两种方式中的总结:

  
    关于创建根app的两种方式中的总结:
1.
const app = new Vue({
router,
store,
render: h => h(App),
}).$mount('#app'); render: h => h(App) 具体是什么含义?
render: function (createElement) {
return createElement(
'h' + this.level, // tag name 标签名称
this.$slots.default // 子组件中的阵列
)
} 将h作为createElement的别名是一个通用惯例 2.(最新的加载方式)
new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App }
});

2.router 组件导入方式

      组件的引入方式
a. 采用import的方式引入进来;比如 import login from '../components/login.vue' (推荐)
b. 采用require的方式 resolve => require(['../components/login.vue'], resolve)

3.V-if 和V-show的区别使用

 

v-show 不会重新创建和销毁,只是简单的display属性,而v-if 会销毁和重新创建; v-if可以通过key 对相同的模块不采用复用;

4.DOM元素引用

 

<p class="errorDes_login" ref="errorDescription" v-show="isErrorShow">您输入的手机号码格式错误!</p>
可以通过 this.$refs.errorDescription 获取相应的引用ref引用对象;  this.$el获取根DOM元素,然后通过this.$el.querySelector() 查询获取到对应的子元素;

5.关于组件CSS class重名的问题

由于vue 会把所有的static文件都封装到app.js的文件中。所有如果后面的组件class,与前面组件class重名,会覆盖之前组件中css的渲染效果

6.关于axios POST请求出错的问题

在使用axios 进行post请求时;params 需要进行qs 处理,不然会提示跨域的问题。

import axios from 'axios';
import qs from 'querystring' axios.post(loginUrl,qs.stringify(signParams),config)
.then(function(){})
.catch(function(){})

7.设置代理解决本地开发跨域的问题

  

进入config/index.js里
配置方法一:
proxyTable: {
'/api':{
target:'http://www.api.com',
changeOrigin:true,
pathRewrite:{}
}
}, 配置方法二:
proxyTable: {
'/api':{
target:'http://www.api.com/api',
changeOrigin:true,
pathRewrite:{
'^/api':''
}
}
}, 以上配置表示请求接口以 "/api" 开头的话,服务器会去请求 http://www.api.com/api 以下的接口。 例如 this.$http.get('/api/menu/get_list').then(function(){}), 这样子就可以拿到 http://www.api.com/api/menu/get_list 的数据了。

8.axios请求   Unexpected token o in JSON at position 1问题

在使用axios请求返回的response时,不能对response,进行JSON.pase(response),否则会出现Unexpected token o in JSON at position 1,因为response本身就是一个Object对象;

9.同级文件导入时,提示node_module中找不到的问题

在导入时,必须加当前目录 ./,否则会直接在node_module里面去找,而不是在当前目录下;
例如 test.js 和 login.js在同一个文件下;那么login.js 在导入test.js时 必须指明是当前目录,否则会在node_module里面去寻找 import * as test from './test.js'

10.对于使用了v-if的element,在js 元素引用时,this.$refs.ele ,要做判断处理。 否则 element被销毁后,会提示undefined的错误;

11.methods里面的函数进行网络请求时,在request的回调里面无法获取this.$router.push的。应该函数请求前加入  const self = this 通过self.$router进行操作;

 

12.使用axios请求时,返回的response 包含了整个请求的信息 请求头相关的设置等;需要注意!

{"data":{"code":1,"desc":"成功","data":{"icon":"****","app_name":"xx","permissions":[{"code":"sport","name":"xx"},{"code":"location","name":"xx"}]}},
"status":200,"statusText":"OK",
"headers":{"content-type":"application/json;charset=UTF-8"},
"config":{"transformRequest":{},"transformResponse":{},
"timeout":0,
"xsrfCookieName":"XSRF-TOKEN",
"xsrfHeaderName":"X-XSRF-TOKEN",
"maxContentLength":-1,
"headers":{"Accept":"application/json, text/plain, */*"},
"method":"get","url":"*****"},"request":{}}

----------------------------------------------------------------------------------------- ---未完待续-------------------------------------------------------------------------------------------------------------------------------------------

vue+vue-cli+vuex+vrouter 开发学习和总结的更多相关文章

  1. python 全栈开发,Day93(vue内容补充,VueX)

    昨日内容回顾 1. 页面的布局 Vue中使用Bootstrap搭页面 1. 安装 1. npm install bootstrap@3.3.7 -S 2. 使用 1. import 'bootstra ...

  2. vue移动音乐app开发学习(三):轮播图组件的开发

    本系列文章是为了记录学习中的知识点,便于后期自己观看.如果有需要的同学请登录慕课网,找到Vue 2.0 高级实战-开发移动端音乐WebApp进行观看,传送门. 完成后的页面状态以及项目结构如下: 一: ...

  3. vue移动音乐app开发学习(二):页面骨架的开发

    本系列文章是为了记录学习中的知识点,便于后期自己观看.如果有需要的同学请登录慕课网,找到Vue 2.0 高级实战-开发移动端音乐WebApp进行观看,传送门. 完成后的页面状态以及项目结构如下: 一: ...

  4. vue移动音乐app开发学习(一):环境搭建

    本系列文章是为了记录学习中的知识点,便于后期自己观看.如果有需要的同学请登录慕课网,找到Vue 2.0 高级实战-开发移动端音乐WebApp进行观看,传送门. 一:使用vue-cli脚手架搭建: 1: ...

  5. vue前端+java后端 vue + vuex + koa2开发环境搭建及示例开发

    vue + vuex + koa2开发环境搭建及示例开发 https://segmentfault.com/a/1190000012918518 vue前端+java后端 https://blog.c ...

  6. Vue学习日记(四)——Vue状态管理vuex

    前言 先说句前话,如果不是接触大型项目,不需要有多个子页面,不使用vuex也是完全可以的. 说实在话,我在阅读vuex文档的时候,也很难以去理解vuex,甚至觉得没有使用它我也可以.但是直到我在项目碰 ...

  7. 简单vue项目脚手架(vue+webpack2.0+vuex+vue-router)

    github地址 使用技术栈 webpack(^2.6.1) webpack-dev-server(^2.4.5) vue(^2.3.3) vuex(^2.3.1) vue-router(^2.5.3 ...

  8. 史上最强vue总结~万字长文---面试开发全靠它了

    vue框架篇 vue的优点 轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十kb: 简单易学:国人开发,中文文档,不存在语言障碍 ,易于理解和学习: 双向数据绑定:保留了angular ...

  9. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单

    前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...

随机推荐

  1. 【apache tika】apache tika获取文件内容(与FileUtils的对比)

    Tika支持多种功能: 文档类型检测 内容提取 元数据提取 语言检测 重要特点: 统一解析器接口:Tika封装在一个单一的解析器接口的第三方解析器库.由于这个特征,用户逸出从选择合适的解析器库的负担, ...

  2. SpringBoot定制错误页面

    (1)有模板引擎的情况下,例如404错误,将会在thymeleaf的templates的error下寻找404.html,如果找不到再寻找4xx.html *所有4开头的错误状态码如果找不到特定的ht ...

  3. 【转】PyDev Eclipse使用技巧说明

    PyDev Package Explorer 创建项目 在开展工作之前,需要创建一个新的项目.在 Eclipse 菜单栏中,选择 File > New > Project > Pyd ...

  4. 在imagenet预训模型上进行finetune

    所谓fine tune就是用别人训练好的模型,加上我们自己的数据,来训练新的模型.fine tune相当于使用别人的模型的前几层,来提取浅层特征,然后在最后再落入我们自己的分类中. fine tune ...

  5. 文件&报表状态ID

    def_filestatus Uploading=4 WaitingParse=6 Parsing=10 Completed=14 ParseError=1006 UploadError=1004 d ...

  6. [Shell]获取IP地址

    ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut -c 6- ifconfig eth1 | grep &quo ...

  7. GCC制作动态库导出符号表【转】

    转自:https://blog.csdn.net/whb_fei/article/details/76974543 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  8. C# 将任意对象快速转换为Json

    由于最近项目里面Model类特别多,而我需要编写所有数据交互的接口,传输的格式是json,以前都是通过循环List<T>中的对象向StringBuilder对象中Apped字符串生成jso ...

  9. elk系统通过nginx添加对kibana的登录认证

    elk系统添加对kibana的登录认证 关于elk系统的安装配置可以参考:Centos6.5安装Logstash ELK stack 日志管理系统及使用详解 http://blog.csdn.net/ ...

  10. windows 7安装apache

    最近想在PHPEclipse 上开发PHP项目,但遇到的一个问题是:无法在Web 上浏览PHP页面,更谈不上调试了.这一点让人很是纠结,在浏览网上大量的相关内容后,该问题已经解决. 具体的操作过程详见 ...