最终效果

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>vue项目结构</title><script type="text/javascript" src="./lib/vue-2.4.0.js"></script><script src="./lib/vue-router-3.0.1.js"></script><script src="./lib/vuex.js"></script></head><body><div id="app"><p>这里整块会被直接替换掉</p></div><template id="App"><div><h1>App根组件</h1><router-link to="/login">登录</router-link><router-link to="/register">注册</router-link><!-- 一级路由匹配的占位符 --><router-view></router-view></div></template><template id="login"><div><h1>登录组件</h1></div></template><template id="register"><div><h1>注册组件</h1></div></template><script type="text/javascript">var App = {template: "#App",data() {return {};},methods: {}};var login = {template: "#login",data() {return {};}};var register = {template: "#register",data() {return {};}};var router = new VueRouter({routes: [{ path: "/", redirect: "/login" },{ path: "/login", component: login },{ path: "/register", component: register }],linkActiveClass: "myactive"});var store = new Vuex.Store({state: {// 组件中通过this.$store.state.***引用token: "800a1fdedc2bbac6ef9910a11e9784a4"},mutations: {// 组件中通过this.$store.commit('方法的名称', '按需传递唯一的参数')调用boundMutations(state, payload) {console.log(state, payload);}},getters: {// 组件中通过this.$store.getters.***引用getToken(state) {return "加工后的token" + state.token;}},actions: {// 组件中通过this.$store.dispatch('方法的名称', 按需传递唯一的参数)调用async getApiData(context, payload) {console.log(context, payload); // => {commit: {...}, dispatch: {...}, getters: {...}, rootGetters: {...}, rootState: {...}, state: {...}} {name: "actions", age: 20}}}});// // 创建 Vue实例,得到 ViewModel// var vm = new Vue({//   el: "#app",//   data: {},//   methods: {},//   render: function(createElements) {//     // createElements 是一个方法 调用它 能够把指定的 组件模板对象 渲染为 html 结构//     return createElements(App); // 渲染好的模版字符串//     // 注意: 这里 return 的结果, 会替换页面中 el 指定的那个容器  相当于v-text//   }//   // 简写//   render: h => h(App)// });// 实际项目中的结构var vm = new Vue({data: {},methods: {},created() {console.log(this.$store.state.token);console.log(this.$store.getters.getToken);this.$store.dispatch("getApiData", { name: "actions", age: 20 });this.$store.commit("boundMutations", { name: "mutations", age: 20 });},router,store,render: h => h(App)}).$mount("#app");// 注意: .$mount("#app"); 相当于el 用于指定控制区域 会被render函数渲染好的html结构直接替换掉</script></body>
</html>

vue项目结构(未抽离成.vue文件前的结构)相关推荐

  1. 创建Vue项目,找不到router文件(router.js)的解决方法

    创建Vue项目,找不到router文件(router.js)的解决方法 问题描述: 安装 Vue Router 原因分析: 解决方案: 命令窗口创建 使用图形化界面 问题描述: 如图所示: 安装 Vu ...

  2. vue项目html引入css,vue项目引入自定义.css的样式文件

    ES6的引入方式: .vue文件中 css文件引入 @import "../assets/common/common.css";//自定义.css的样式路径 js文件的引入 在ma ...

  3. 在vue项目中将px自动成rem

    第一步: 在vue项目中的src文件夹下面创建一个config文件夹,在里面创建一个rem.js文件 第二步:将下面代码复制到rem.js中 // 基准大小 const baseSize = 32 / ...

  4. Vue将echarts数据导出成excel文件

    Vue将echarts数据导出成excel文件 一.下载vendor插件 下载 vendor 文件放置项目的 src 目录下 链接:https://pan.baidu.com/s/1XYYQ186zo ...

  5. Vue项目 跨域 解决方案与 vue.config.js 配置解析

    为什么会出现跨域? 出于浏览器的同源策略限制.同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说 ...

  6. vue项目使用hbuildX打包成app

    一.打包 1.在vue.config,js中加入 publicPath: './', 配置,防止打包后产生空白页 2.在axios.js中的默认服务器配置直接写服务器名称,在router里面配置路由模 ...

  7. Vue项目使用js-audio-recorder录音及录音文件上传

    最近在做的Vue项目里有关于录音和录音文件上传的功能,用到的是一个开源框架js-audio-recorder,官方文档上关于录音.暂停录音等也封装了很多方法,在这里我主要说下录音文件上传部分,网上找了 ...

  8. vue项目使用electron打包成桌面应用

    打包流程详情步骤: 1.准备工作: a.win7系统则确保node版本在v12以上,electron-builder对系统或版本有要求: b.项目路径不使用中文: c.使用淘宝镜像命令代替npm管理工 ...

  9. VUE 项目图标全部替换成阿里巴巴矢量图

    我们在做vue项目时,发现vue里的图标不能满足我们项目的需求,我们就需要去阿里巴巴矢量图里下载了. 阿里巴巴矢量图库中有两种格式的图标如下图 第一个Unicode 样式,vue的使用方法如下 第二个 ...

最新文章

  1. 关于第十五届全国大学生智能车竞赛 STC 单片机
  2. [OS复习]设备管理1
  3. DISCUZ网站DIY后,导致DIY功能失效,无法在前台删除已创建的DIY功能解决办法
  4. 前端学习(238):IE低版本常见bug
  5. java中的Static、final、Static final各种用法
  6. mysql联合查询怎么去重_MySql 联合查询
  7. 【重识云原生】第四章云网络第二节——相关基础知识准备
  8. HEVC: I帧、P帧及B帧
  9. MotionEvent和TouchSlop
  10. GB:香港城市大学孙燕妮组发表高准确度病毒株识别工具VirStrain
  11. 金三银四,中高级测试面经,我不信你能看完!
  12. 51单片机完成时钟形式显示
  13. “.”和“->”的区别
  14. vijos 1282128312841285 佳佳的魔法照片/魔法药水/魔杖/魔法阵
  15. linux为什么不需要磁盘碎片整理,Linux不用磁盘碎片整理原因分析.doc
  16. MIT 操作系统 jos make grade出现no jos.out
  17. 电子元器件贸易采购管理常见难题及解决方案
  18. 分享20个无版权的高清无 码图库站
  19. K2 BPM_【解决方案】K2赋能房地产业务高效运营_全球领先的工作流引擎
  20. 苹果耳机的入耳检测原理

热门文章

  1. unity 天空盒_Unity自定义可编程渲染管线(SRP)(二)——编写第一个自定义SRP
  2. # 异运算_小学数学运算三要点:定律、法则与顺序(解析)
  3. vc mysql init 崩溃_故障分析 | 崩溃恢复巨慢原因分析
  4. 认证服务器协议,基于口令的客户端/服务器认证协议
  5. 计算机操作系统实验银行家算法,实验六 银行家算法(下)
  6. 王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法
  7. 【 Grey Hack 】万金油脚本:路由器漏洞检测
  8. 面试突击32:为什么创建线程池一定要用ThreadPoolExecutor?
  9. 基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中
  10. 不要以为学java,.net或VB的就很牛