当前位置: 首页 > news >正文

网站建设规划书模板怎么让网站被百度收录

网站建设规划书模板,怎么让网站被百度收录,wordpress定时发布的文章失效,自己做网站运营1 什么是状态管理 其实是数据管理但是为了更好的指出是由于状态的变化导致数据的变化(响应式数据),我们称之为状态管理. 2 Vuex的状态管理 组件只能直接读取state,而不能直接修改state,必须通过mutation才能修改.(pinia可以直接读取和修改state) 3 Vuex的安装 npm install …

1 什么是状态管理

其实是数据管理但是为了更好的指出是由于状态的变化导致数据的变化(响应式数据),我们称之为状态管理.
在这里插入图片描述

2 Vuex的状态管理

在这里插入图片描述

组件只能直接读取state,而不能直接修改state,必须通过mutation才能修改.(pinia可以直接读取和修改state)

在这里插入图片描述

3 Vuex的安装

npm install vuex

4 创建Store

在这里插入图片描述

文件结构

在这里插入图片描述

1 创建store,使用state(核心一)

import { createStore } from 'vuex'const store = createStore({state: () => ({// 模拟数据// counter: 100,rootCounter: 100,}),//用于修改state的mutationsmutations: {increment(state) {state.counter++}}})export default store

2 使用和修改state,解构state获取数据

<template><div class="app">//模板中使用<h2>Home当前计数: {{ $store.state.counter }}</h2>//options API 使用<h2>Computed当前计数: {{ storeCounter }}</h2>//setUP API 使用<h2>Setup当前计数: {{ counter }}</h2>// 修改state<button @click="increment">+1</button></div>
</template><script>export default {computed: {storeCounter() {return this.$store.state.counter}}}
</script><script setup>import { toRefs } from 'vue'import { useStore } from 'vuex'const store = useStore()//解构state获取数据,counter,可以是多个数据,起别名等(推荐)const { counter } = toRefs(store.state)function increment() {// store.state.counter++store.commit("increment")}
</script><style scoped>
</style>

5 getters的基本使用 对state数据进行加工(核心二)

inde.js代码

const store = createStore({state: () => ({// 模拟数据// counter: 100,rootCounter: 100,name: "coderwhy",level: 100,avatarURL: "http://xxxxxx",friends: [{ id: 111, name: "why", age: 20 },{ id: 112, name: "kobe", age: 30 },{ id: 113, name: "james", age: 25 }],}),getters: {// 1.基本使用doubleCounter(state) {return state.counter * 2},totalAge(state) {return state.friends.reduce((preValue, item) => {return preValue + item.age}, 0)},// 2.在该getters属性中, 获取其他的gettersmessage(state, getters) {return `name:${state.name} level:${state.level} friendTotalAge:${getters.totalAge}`},// 3.getters是可以返回一个函数的, 调用这个函数可以传入参数(了解)getFriendById(state) {return function(id) {const friend = state.friends.find(item => item.id === id)return friend}}},

vue代码

 <template><div class="app"><!-- <button @click="incrementLevel">修改level</button> --><h2>doubleCounter: {{ $store.getters.doubleCounter }}</h2><h2>friendsTotalAge: {{ $store.getters.totalAge }}</h2><h2>message: {{ $store.getters.message }}</h2><!-- 根据id获取某一个朋友的信息 --><h2>id-111的朋友信息: {{ $store.getters.getFriendById(111) }}</h2><h2>id-112的朋友信息: {{ $store.getters.getFriendById(112) }}</h2></div>
</template>

6 Mutation基本使用,state的修改(核心三)

重要的原则: 不要在mutation方法中执行异步操作

mutations: {increment(state) {state.counter++},changeName(state, payload) {state.name = payload},incrementLevel(state) {state.level++},changeInfo(state, newInfo) {state.level = newInfo.levelstate.name = newInfo.name// 重要的原则: 不要在mutation方法中执行异步操作},
methods: {changeName() {// this.$store.state.name = "李银河"//带外部参数的修改this.$store.commit("changeName", "王小波")},incrementLevel() {this.$store.commit("incrementLevel")},changeInfo() {//外部参数是一个对象this.$store.commit("changeInfo", {name: "王二",level: 200})}}}
</script>

7 actions的基本使用 ,异步派发(核心四)

使用dispatch函数进行分发
在这里插入图片描述

actions: {incrementAction(context) {// console.log(context.commit) // 用于提交mutation// console.log(context.getters) // getters// console.log(context.state) // statecontext.commit("increment")},changeNameAction(context, payload) {context.commit("changeName", payload)},},
<template>
<div class="home"><h2>当前计数: {{ $store.state.counter }}</h2><button @click="counterBtnClick">发起action修改counter</button><h2>name: {{ $store.state.name }}</h2><button @click="nameBtnClick">发起action修改name</button>
</div>
</template><script>export default {methods: {counterBtnClick() {this.$store.dispatch("incrementAction")},nameBtnClick() {this.$store.dispatch("changeNameAction", "aaa")}}
}
</script><script setup></script><style scoped>
</style>

actions的异步操作

在这里插入图片描述

8 module的基本使用,抽出模块(核心五)

在这里插入图片描述
定义一个单独的home.js文件

export default {state: () => ({// 服务器数据banners: [],recommends: []}),mutations: {changeBanners(state, banners) {state.banners = banners},changeRecommends(state, recommends) {state.recommends = recommends}},actions: {fetchHomeMultidataAction(context) {return new Promise(async (resolve, reject) => {// 3.await/asyncconst res = await fetch("http://123.207.32.32:8000/home/multidata")const data = await res.json()// 修改state数据context.commit("changeBanners", data.data.banner.list)context.commit("changeRecommends", data.data.recommend.list)resolve("aaaaa")})}}
}

导入index.js

//导入模块对象
import homeModule from './modules/home'
//导入模块
modules: {home: homeModule,}

使用xxx.vue文件

<template><div class="home"><h2>Home Page</h2><ul><!-- 使用数据时需要模块名 state.modulename.xxx --><template v-for="item in $store.state.home.banners" :key="item.acm"><li>{{ item.title }}</li></template></ul></div>
</template><script>
</script><script setup>import { useStore } from 'vuex'// 调用方法时,不需要模块名const store = useStore()store.dispatch("fetchHomeMultidataAction").then(res => {console.log("home中的then被回调:", res)})</script><style scoped>
</style>
http://www.ds6.com.cn/news/62028.html

相关文章:

  • 在哪里可以做网站长沙百度关键词排名
  • 安装wordpress到搭建服务器企业整站优化
  • 微信公众号商城网站开发windows优化大师是哪个公司的
  • 网站的文件夹快速开发平台
  • 企业网站建设的目的有哪些如何找外包的销售团队
  • 广州品牌网站设计网站主题
  • 西安杰商网络网站建设百度查找相似图片
  • 政府门户网站建设领导小组网络优化软件有哪些
  • 学校网站构建百度信息流代运营
  • 俄语网站开发百度指数关键词工具
  • 最便宜网站怎么给客户推广自己的产品
  • 商业摄影网站网络营销的主要内容包括
  • 搭建网页的基础语言seo搜论坛
  • 商丘做网站汉狮网络建立网站平台需要多少钱
  • 服装品牌网页设计图片seo标题优化分析范文
  • 企业网站的首页设计模板seo服务公司
  • 沈阳关键词优化报价seo咨询师招聘
  • wordpress调整配置百度seo公司电话
  • 濮阳家电网站建设网络营销有什么特点
  • 做直销哪个网站好网络营销员岗位的职责与要求
  • 深圳网站平台建设百度广告联盟收益
  • 新吴区推荐做网站电话哈尔滨优化调整人员流动管理
  • 网站后台怎么上传图片凡科网怎么建网站
  • 学网站设计和平面设计今日热点新闻事件摘抄
  • 那种web网站开发文档汽车营销活动策划方案
  • 兰州市科协网站外贸建站推广公司
  • b站推广网站2024不用下载微信怎么推广
  • 网站免费在线观看沈阳关键词快照优化
  • 最好的装饰公司营销型网站网站搜索引擎优化报告
  • 简单个人网站设计百度小说排行榜完本