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

西安火车站网站建设做php网站用什么软件

西安火车站网站建设,做php网站用什么软件,建设工程造价管理基础知识,网站制作深十四 pinia 官网#xff1a;安装 | Pinia 中文文档 集中式状态管理#xff0c;与vuex相似#xff0c;提供变量存储便于数据共享。 从概念上类似于php中的session吧…… 适用于少量数据的共享#xff0c;可操作数据都是先定义后使用。 适用于判断用户是否登录#xff…十四 pinia 官网安装 | Pinia 中文文档 集中式状态管理与vuex相似提供变量存储便于数据共享。 从概念上类似于php中的session吧…… 适用于少量数据的共享可操作数据都是先定义后使用。 适用于判断用户是否登录存储用户信息等。 在组件外使用存储 | Pinia 中文文档 安装 vue2 npm install pinia npm install vue/composition-api vue3 npm install pinia 使用 main.js引入pinia // import ./assets/main.cssimport { createApp } from vue import App from ./App.vue import router from ./router import { createPinia } from piniaconst app createApp(App) const pinia createPinia()app.use(pinia) app.use(router) app.mount(#app) 设置文件store/test7.ts import {defineStore} from piniaconst useTest7Srore defineStore(test7,{actions:{addnum(){if(this.num100){this.numthis.n}else{console.log(num 100)}}},state:(){return {num:0,n:0}},getters:{getnum:(state){return num: state.num}} })export default useTest7Srore 引入defineStore定义唯一名称作为第一个参数传递。 state设置存储变量返回对象。 getters设置方法接收变量并处理。 actions设置方法便于处理业务逻辑。 最后向外部暴露。 可以多个逻辑设置多个文件有点像hooks可将重复的业务提取出来减少重复编写。 vue文件调用 script langts setupimport { ref } from vueimport useTest7Srore from /store/test7.tsimport Test8 from ./Test8.vuelet test7store useTest7Srore()function addn(){test7store.n Math.floor(Math.random() * 10) 1// test7store.num test7store.ntest7store.addnum()console.log(test7store.getnum)} /scripttemplate nameTest7 divdiv classmaindiv classdiv1pnum:{{test7store.num}} nbsp;nbsp; n:{{test7store.n}}/ppbutton clickaddn classbtn1addn/button/p/divTest8/Test8/div /div /templatestyle scoped.main{width: 80%;padding: 1em;margin: 0 auto;}.div1{background-image:linear-gradient(#accbee ,#e7f0fd 100%);height: 200px;border-radius: 30px;padding: 1em;}.btn1{height: 30px;background-image:linear-gradient(#1e3c72 ,#2a5298 100%);color: #fff;border: none;border-radius: 5px;} /style 定义的pinia仓库返回reactive对象也就是例子中test7store是reactive对象。 获取state中的定义变量应该是test7store.$state.num但是reactive对象会对其中定义ref()对象拆包处理所以直接写test7store.num也是对的。 可以调用其中自己封装的方法addnum改变num值或者调用getnum或者num值。 例子中存数据使用test7store.addnum()读数据使用test7store.getnum、test7store.num、test7store.n。 存数据方式 第一种 变量直接操作比如test7store.num1。 第二种批量变更。 test7store.$path({num:1,n:10 }) 和第一种的区别是第一种调用几次则修改几次$path是一起执行。 第三种使用actions中自己封装的方法比如test7store.addnum()。 第三种的优点在于适合处理业务逻辑。 从维护方面变量修改都写在封装方法里面可能好维护。 actions中可以使用thisthis是当前的store。 十五 storeToRefs 便于pinia的数据读取可以结构pinia定义的存储库暴露的变量。 官方文档storeToRefs() | Pinia 定义 import {defineStore} from pinia import { reactive } from vue//组合式 export const useTest8Srore defineStore(test8, (){let list reactive(localStorage.getItem(list)?JSON.parse(localStorage.getItem(list)):[]);//响应式数据function pushlist(info){list.push(info)}return {list,pushlist} }); export default useTest8Srore 使用 script langts setup import useTest8Srore from /store/test8 import { storeToRefs } from pinialet test8Srore useTest8Srore() let {list} storeToRefs(test8Srore) //list 是响应式数据/scripttemplatedivdivp v-for(value,index) in list :keyindex{{value}}/p/div/div /template 就是解构pinia的数据组件直接使用数据为响应式。 和toRefs比仅将暴露数据中的变量变为响应式。 十六 $subscribe 官网Plugins | Pinia 官网还提到$onAction。 两者都是起到监听作用 $subscribe 监听数据变化$onAction 监听方法调用 定义参考上述store/test7.ts文件。 调用 script langts setupimport { ref } from vueimport useTest7Srore from /store/test7.tsimport Test8 from ./Test8.vue// let n ref(0)// let num ref(0)let test7store useTest7Srore()function addn(){test7store.n Math.floor(Math.random() * 10) 1// test7store.num test7store.ntest7store.addnum()console.log(test7store.getnum)}test7store.$subscribe((state, getters) {console.log(state)console.log(getters)})test7store.$onAction(({ name, store, after, args, payload }) {console.log(name)console.log(store)console.log(after)console.log(args)console.log(payload)}) /scripttemplate nameTest7 divdiv classmaindiv classdiv1pnum:{{test7store.num}} nbsp;nbsp; n:{{test7store.n}}/ppbutton clickaddn classbtn1addn/button/p/divTest8/Test8/div /div /templatestyle scoped.main{width: 80%;padding: 1em;margin: 0 auto;}.div1{background-image:linear-gradient(#accbee ,#e7f0fd 100%);height: 200px;border-radius: 30px;padding: 1em;}.btn1{height: 30px;background-image:linear-gradient(#1e3c72 ,#2a5298 100%);color: #fff;border: none;border-radius: 5px;} /style 点击addn按钮console输出 //onAction 部分 addnum Test7.vue:20 Proxy(Object) {$id: test7, $onAction: ƒ, $patch: ƒ, $reset: ƒ, $subscribe: ƒ, …} Test7.vue:21 ƒ after(callback) {afterCallbackList.push(callback);} Test7.vue:22 [] Test7.vue:23 undefinedTest7.vue:12 num:3//subscribe 部分 Test7.vue:15 {storeId: test7, type: direct, events: {…}} Test7.vue:16 Proxy(Object) {num: 3, n: 3}
http://www.zqtcl.cn/news/597224/

相关文章:

  • 网站功能模块建设建设网站考证
  • 网站代码结构成都住建局官网报名入口
  • 吴桥县网站建设房产门户网站模板
  • 标签化网站网络服务类型及其所采用的网络协议
  • 做网站服务器应该怎么配置网页美工设计实践性教案
  • 响应式网站导航栏内容泰安网站营销推广
  • 南通营销网站开发软件开发工具名词解释
  • 吉林企业网站模板建站哪个好wordpress后台新建慢
  • 整合营销的成功案例肇庆seo优化
  • 网站关键字标签合肥高端网站建设设计公司哪家好
  • 大型企业网站设计案例免费在线看片
  • 云南网站开发公司找哪家网站弹出式链接后台怎么做
  • 电商网站的支付模块怎么做企业网站建设招标文件
  • 旅游在线网站开发十八个免费的舆情网站
  • 网站怎么申请百度小程序火车头采集发布wordpress
  • 外贸网站的推广技巧有哪些莱芜网吧
  • 溧阳城乡建设局网站ps中网站页面做多大的
  • sns社交网站 有哪些wordpress开发分类筛选
  • 黄石网站建设教程网上怎样查询企业资质
  • 国内设计师交流网站怎样做自己的网站钻钱
  • 无锡专业网站推广网络营销组合策略
  • 网站建设的安全威胁中国建设银行的网站色彩
  • 中小型企业网站建设与管理潍坊做网站哪家公司最好
  • 广州白云机场网站建设免费的网站模版
  • 商务网站建设策划书51网站怎么打开
  • 一个网站里面只放一个图片怎么做中国十大网络公司排名
  • 仓库网站开发怎么看一个网站做外链
  • 网站代码编辑器中国十大黑科技
  • 深圳网站建设一尘互联遵义网站开发哪家好
  • 室内设计师灵感网站汕头网站制作全过程