慢吞云雾缓吐愁 发表于 2024-12-5 09:18:07

vue.js学习(day 19)

自定义创建项目 

https://i-blog.csdnimg.cn/direct/0743d1c78ce74c968de0c4a53dda63c3.png
ESlint 代码规范 

https://i-blog.csdnimg.cn/direct/7be0ba93dfca4a98b9b017ac900d7d18.png代码规范错误 https://i-blog.csdnimg.cn/direct/13d8e76352074cceb3ca5464cfb4b59c.png

手动修正 

https://i-blog.csdnimg.cn/direct/8ee6934314ea43b8bdceb404f52df6a6.png 
自动修正 

https://i-blog.csdnimg.cn/direct/bb0273ef3d6f415eb0e59d02c6fa60a1.png 
 settings.json

{
    "emmet.triggerExpansionOnTab": true,
    "editor.fontSize": 25,
   
    // 当保存的时候,eslint自动帮我们修复错误
    "editor.codeActionsOnSave": {
      "source.fixAll": true
    },
    // 保存代码,不自动格式化
    "editor.formatOnSave": false
}  vuex概述https://i-blog.csdnimg.cn/direct/c9d1723c85594d1db3e7a5dfcb06af37.png

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

https://i-blog.csdnimg.cn/direct/f59e6a5ada3c4887a3fce8e13d021fb9.png 
 创建一个空堆栈https://i-blog.csdnimg.cn/direct/80c68891e8194b0bbd8bcea5be732129.png

index.js 

// 这里面存放的就是 vuex 相关的核心代码
import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import setting from './modules/setting'

// 插件安装
Vue.use(Vuex)

// 创建仓库(空仓库)
const store = new Vuex.Store()

// 导出给main.js使用
export default store
 main.js

import Vue from 'vue'
import App from './App.vue'
import store from '@/store/index' // 导入
console.log(store.state.count)

Vue.config.productionTip = false

new Vue({
render: h => h(App),
store // 挂载
}).$mount('#app')

核心概念:state 状态 

提供数据

https://i-blog.csdnimg.cn/direct/33aba19bdf464354b93b51607494b56d.png
index.js 

// 这里面存放的就是 vuex 相关的核心代码
import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import setting from './modules/setting'

// 插件安装
Vue.use(Vuex)

// 创建仓库(空仓库)
const store = new Vuex.Store({

// 1. 通过 state 可以提供数据 (所有组件共享的数据)
state: {
    title: '仓库大标题',
    count: 100,
    list:
}
})

// 导出给main.js使用
export default store
 
利用数据 

通过 store 直接访问

https://i-blog.csdnimg.cn/direct/356ed81cb1b04172a252707fc531e4b7.png
 通过辅助函数 (简化)

https://i-blog.csdnimg.cn/direct/e0072ccef62342b8ad82cf0ba0fedae7.png App.vue

<template>
<div id="app">
    <h1>
      根组件
      - {{ title }}
      - {{ count }}
    </h1>
    <input :value="count" @input="handleInput" type="text">
    <Son1></Son1>
    <hr>
    <Son2></Son2>
</div>
</template>

<script>
import Son1 from './components/son1'
import Son2 from './components/son2'

// 1.导入 mapState
import { mapState } from 'vuex'
// console.log(mapState(['count', 'title']))

export default {
name: 'app',
created () {
    // console.log(this.$router) // 没配
    console.log(this.$store.state.count)
},
computed: { // 3.展开运算符映射
    ...mapState(['count', 'title']) // 2.数组方式引入state
},

</script>

<style>
#app {
width: 600px;
margin: 20px auto;
border: 3px solid #ccc;
border-radius: 3px;
padding: 10px;
}
</style>
核心概念:mutations 

https://i-blog.csdnimg.cn/direct/e3a3921b7ed04b78b3c1d4e5a95d12a5.pnghttps://i-blog.csdnimg.cn/direct/0375589eadcd40b38a69ae0f601d7350.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: vue.js学习(day 19)