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

做网站被骗3000排版设计说明

做网站被骗3000,排版设计说明,python开源代码网站,做网站找核心概念 State#xff1a;这是你的应用程序的状态#xff0c;是一个响应式的对象。 Getters#xff1a;类似于 Vuex 中的 getters#xff0c;它们是基于 state 的计算属性。 Actions#xff1a;类似于 Vuex 中的 mutations 和 actions#xff0c;它们用于改变 state。但…核心概念 State这是你的应用程序的状态是一个响应式的对象。 Getters类似于 Vuex 中的 getters它们是基于 state 的计算属性。 Actions类似于 Vuex 中的 mutations 和 actions它们用于改变 state。但与 Vuex 不同的是在 Pinia 中mutations 和 actions 被合并为一个概念即 actions。 其他特性Pinia 还支持插件、热重载、服务器端渲染等。 安装 npm install pinia # 或者使用 yarn yarn add piniamain.js import { createApp } from vue import { createPinia } from pinia import App from ./App.vue const app createApp(App) const pinia createPinia() app.use(pinia) app.mount(#app)store/counter.js import { defineStore } from pinia export const useCounterStore defineStore(counter, { // state state: () ({ count: 0, }), // getters getters: { doubleCount: (state) state.count * 2, }, // actions actions: { increment() { this.count }, decrement() { this.count-- }, // 你也可以在 actions 中使用其他 actions 或 getters incrementBy(amount) { this.count amount }, }, })App.vue template div pCount: {{ counterStore.count }}/p pDouble Count: {{ counterStore.doubleCount }}/p button clickcounterStore.incrementIncrement/button button clickcounterStore.decrementDecrement/button button clickcounterStore.incrementBy(5)Increment by 5/button /div /template script import { useCounterStore } from ./store/counter export default { setup() { const counterStore useCounterStore() return { counterStore } }, } /script扩展 Store 由于有了底层 API 的支持Pinia store 现在完全支持扩展。以下是你可以扩展的内容 为 store 添加新的属性 定义 store 时增加新的选项 为 store 增加新的方法 包装现有的方法 改变甚至取消 action 实现副作用如本地存储 仅应用插件于特定 store 1. 插件 (Plugins) 插件是通过 pinia.use() 添加到 pinia 实例的。最简单的例子是通过返回一个对象将一个静态属性添加到所有 store。 import { createPinia } from pinia// 创建的每个 store 中都会添加一个名为 secret 的属性。 // 在安装此插件后插件可以保存在不同的文件中 function SecretPiniaPlugin() {return { secret: the cake is a lie } }const pinia createPinia() // 将该插件交给 Pinia pinia.use(SecretPiniaPlugin)// 在另一个文件中 const store useStore() store.secret // the cake is a lie2. 持久化状态 (Persistence) 代码示例使用第三方插件 pinia-plugin-persistedstate npm install pinia-plugin-persistedstateimport { createApp } from vue; import { createPinia } from pinia; import createPersistedState from pinia-plugin-persistedstate; const pinia createPinia(); // 使用插件 pinia.use(createPersistedState({ storage: window.localStorage, })); const app createApp(/* ... */); app.use(pinia); // ...3. 订阅状态变化 (Subscribing to State Changes) Pinia 允许你订阅 Store 的状态变化以便在状态更新时执行某些操作。这可以通过 pinia.state.subscribe 方法实现。 代码示例在插件中使用 // 插件中的代码 app.pinia.state.subscribe((mutation, state) { // mutation 是一个对象包含 typedirect 或 patch和 key // state 是 Store 的当前状态 console.log(State mutated:, mutation, state); });4. 使用 TypeScript 进行类型安全 如果你在使用 TypeScriptPinia 提供了强大的类型支持确保你的代码是类型安全的。你可以为 state、getters 和 actions 提供类型定义。 代码示例使用 TypeScript import { defineStore } from pinia; interface CounterState { count: number; } export const useCounterStore defineStore(counter, { state: (): CounterState ({ count: 0, }), // ... });5. 访问其他 Store 在 Pinia 中一个 Store 可以很容易地访问另一个 Store 的状态和方法。你可以直接在 Store 的 actions 中使用 useStore 函数来访问其他 Store。 代码示例 import { defineStore } from pinia; import { useOtherStore } from ./otherStore; export const useCounterStore defineStore(counter, { // ... actions: { incrementAndDoSomethingElse() { this.count; const otherStore useOtherStore(); otherStore.doSomething(); }, }, });在组件外部使用 Store 1. 创建 Pinia 实例和 Store 首先你需要在你的主入口文件如 main.js 或 main.ts中创建 Pinia 实例并使用它创建你的 Store。 // main.js import { createApp } from vue import { createPinia } from pinia import App from ./App.vue const app createApp(App) const pinia createPinia() // 使用 Pinia app.use(pinia) // 挂载应用 app.mount(#app) // 假设你有一个名为 useCounterStore 的 Store // import { useCounterStore } from ./stores/counter // 但在这里我们不会直接在 main.js 中使用它2. 在组件外部使用 Store 示例在路由守卫中使用 Store 假设你有一个名为 useUserStore 的 Store用于管理用户状态并且你想在路由守卫中检查用户是否已登录。 // router/index.js import { createRouter, createWebHistory } from vue-router import { useUserStore } from ./stores/user // 假设你的 Store 在这里 import pinia from ../main // 引入 Pinia 实例你可能需要根据你的项目结构来调整这个路径 const router createRouter({ history: createWebHistory(process.env.BASE_URL), routes: [ // ...你的路由配置 ], }) // 在路由守卫中使用 Store router.beforeEach((to, from, next) { // 使用 pinia.useStore() 获取 Store 实例 const userStore pinia.useUserStore() // 假设有一个 isLoggedIn 的 getter 或 state 属性 if (to.meta.requiresAuth !userStore.isLoggedIn) { // 重定向到登录页面或执行其他操作 next(/login) } else { next() } }) export default router
http://www.w-s-a.com/news/32167/

相关文章:

  • 网站建立时间查询做百度移动网站优化排
  • 网站建设和运行费用qq恢复官方网站
  • 可以免费建立网站吗免费的网络营销方式
  • 天津企业设计网站建设wordpress标题字体大小
  • 上高县城乡规划建设局网站创业项目
  • 钓鱼网站在线下载广州网站设计哪里好
  • 做阿里国际网站会有成效吗wordpress微博同步
  • 西安网站建设云速网络网站运营情况怎么写
  • 免费建网站的网站微信商城分销系统方案
  • 烟台网站seo服务友情链接有哪些展现形式
  • 什么是移动网站开发免费网站开发框架
  • 做网站 创业wordpress子菜单
  • 门户网站类型有哪些权重7以上的网站
  • 政务网站建设论文android app开发教程
  • 网站开发实训h5总结个人网站注册平台要多少钱
  • 空白网站建设wordpress高亮代码过长
  • 盐城 网站开发什么叫做门户网站
  • 广东快速做网站公司哪家好本地建wordpress
  • dedecms如何做网站贵阳seo计费管理
  • 企业网站设计一般多少钱呼和浩特最好的互联网公司
  • 黄浦专业做网站海南网站策划
  • 网站开发工程师有证书考试吗织梦cms是免费的吗
  • 电子商务网站建设需要学什么门户网站推广介绍方案
  • 网站里的专题页面wordpress查询数据库结构
  • WordPress子站站群网站建设代码生成器
  • 怎么攻击织梦网站甘肃省最新消息今天
  • 赣州哪里可以做网站看装修案例的网站
  • 旅游网站专业化建设的要点php 手机网站 模板
  • wordpress百度站长主动推送长春火车站官网
  • 比较好的响应式网站wordpress博客增加音乐页面