vue.js学习(day 19)

打印 上一主题 下一主题

主题 900|帖子 900|积分 2700

自定义创建项目 


ESlint 代码规范 

代码规范错误 


手动修正 

 
自动修正 

 
 settings.json

  1. {
  2.     "emmet.triggerExpansionOnTab": true,
  3.     "editor.fontSize": 25,
  4.    
  5.     // 当保存的时候,eslint自动帮我们修复错误
  6.     "editor.codeActionsOnSave": {
  7.         "source.fixAll": true
  8.     },
  9.     // 保存代码,不自动格式化
  10.     "editor.formatOnSave": false
  11. }
复制代码
 vuex概述


构建vuex[多组件数据共享]环境 

 
 创建一个空堆栈


index.js 

  1. // 这里面存放的就是 vuex 相关的核心代码
  2. import Vue from 'vue'
  3. import Vuex from 'vuex'
  4. import user from './modules/user'
  5. import setting from './modules/setting'
  6. // 插件安装
  7. Vue.use(Vuex)
  8. // 创建仓库(空仓库)
  9. const store = new Vuex.Store()
  10. // 导出给main.js使用
  11. export default store
复制代码
 main.js

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import store from '@/store/index' // 导入
  4. console.log(store.state.count)
  5. Vue.config.productionTip = false
  6. new Vue({
  7.   render: h => h(App),
  8.   store // 挂载
  9. }).$mount('#app')
复制代码
核心概念:state 状态 

提供数据


index.js 

  1. // 这里面存放的就是 vuex 相关的核心代码
  2. import Vue from 'vue'
  3. import Vuex from 'vuex'
  4. import user from './modules/user'
  5. import setting from './modules/setting'
  6. // 插件安装
  7. Vue.use(Vuex)
  8. // 创建仓库(空仓库)
  9. const store = new Vuex.Store({
  10.   // 1. 通过 state 可以提供数据 (所有组件共享的数据)
  11.   state: {
  12.     title: '仓库大标题',
  13.     count: 100,
  14.     list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  15.   }
  16. })
  17. // 导出给main.js使用
  18. export default store
复制代码
 
利用数据 

通过 store 直接访问


 通过辅助函数 (简化)

 App.vue


  1. <template>
  2.   <div id="app">
  3.     <h1>
  4.       根组件
  5.       - {{ title }}
  6.       - {{ count }}
  7.     </h1>
  8.     <input :value="count" @input="handleInput" type="text">
  9.     <Son1></Son1>
  10.     <hr>
  11.     <Son2></Son2>
  12.   </div>
  13. </template>
  14. <script>
  15. import Son1 from './components/son1'
  16. import Son2 from './components/son2'
  17. // 1.导入 mapState
  18. import { mapState } from 'vuex'
  19. // console.log(mapState(['count', 'title']))
  20. export default {
  21.   name: 'app',
  22.   created () {
  23.     // console.log(this.$router) // 没配
  24.     console.log(this.$store.state.count)
  25.   },
  26.   computed: { // 3.展开运算符映射
  27.     ...mapState(['count', 'title']) // 2.数组方式引入state
  28.   },
  29. </script>
  30. <style>
  31. #app {
  32.   width: 600px;
  33.   margin: 20px auto;
  34.   border: 3px solid #ccc;
  35.   border-radius: 3px;
  36.   padding: 10px;
  37. }
  38. </style>
复制代码
核心概念:mutations 



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

慢吞云雾缓吐愁

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表