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

怎样做订房网站wordpress标签云不显示

怎样做订房网站,wordpress标签云不显示,拼多多货源一件代发平台,网站建设技术合同模板下载Vue中如何抽取部分代码到单独的ts文件 本文代码基于 简单示例 这段代码#xff0c;是比较通用的代码#xff0c;我想抽取成一个ts文件#xff0c;来供其他地方调用。 const groupData reactive({groupList:[] as ArrayGroupV2Response,current:{} as GroupV2Re…Vue中如何抽取部分代码到单独的ts文件 本文代码基于 简单示例 这段代码是比较通用的代码我想抽取成一个ts文件来供其他地方调用。 const groupData reactive({groupList:[] as ArrayGroupV2Response,current:{} as GroupV2Response, })const groupFunc new class {groupType 1;loadGroupChildrenList (parentGroupCode:string|null) {axios.post(/gallery/group/query-group-children,{groupCode:parentGroupCode,type:this.groupType,}).then(resp groupData.groupList resp.data.data)}selectThisGroup (group:GroupV2Response) {groupData.current group;this.loadGroupChildrenList(group.groupCode);}clearCurrentGroup () {groupData.current {} as GroupV2Response;} }为了将这段代码抽取成一个 TypeScript 文件供其他地方调用并且能够操作 Vue 的响应式变量可以考虑以下几个步骤 创建一个 TypeScript 文件这个文件将包含类和响应式数据结构。抽象出响应式状态可以将响应式状态 (reactive 对象) 作为参数传递给类使得这个类更加灵活和可重用。导出类和响应式状态从这个文件中导出你创建的类和函数这样其他组件或文件就可以引用和实例化它。 步骤 1: 创建 TypeScript 文件 首先创建一个新的 TypeScript 文件例如命名为 GroupManager.ts。 步骤 2: 抽象出响应式状态 你可以修改类让它接收一个响应式状态对象作为参数。这样类就不依赖于外部的具体响应式变量了。 // GroupManager.ts import { reactive } from vue; import axios from axios; import { GroupV2Response } from ./path-to-type-definitions; // 确保引入了正确的类型定义// 定义响应式状态接口 interface GroupData {groupList: ArrayGroupV2Response;current: GroupV2Response; }export class GroupManager {private groupData: GroupData;groupType 1;constructor(groupData: GroupData) {this.groupData groupData;}loadGroupChildrenList (parentGroupCode: string|null) {axios.post(/gallery/group/query-group-children, {groupCode: parentGroupCode,type: this.groupType,}).then(resp this.groupData.groupList resp.data.data);}selectThisGroup (group: GroupV2Response) {this.groupData.current group;this.loadGroupChildrenList(group.groupCode);}clearCurrentGroup () {this.groupData.current {} as GroupV2Response;} }// 可以提供一个工厂函数来创建和初始化响应式数据 export function createGroupManager() {const groupData: GroupData reactive({groupList: [],current: {} as GroupV2Response,});return { groupData, groupManager }; }步骤 3: 使用抽取的文件 在其他 Vue 组件中你可以导入并使用这个抽象化了的类 // SomeComponent.vue script setup langts import { createGroupManager } from ./GroupManager;const { groupData, groupManager } createGroupManager(); /script这样你就能够在不同的组件中复用 GroupManager 类并且每个组件可以有自己的响应式状态实例这使得组件更独立、更易于管理。 相应外部事件 要使得 GroupManager 类在执行特定方法如 selectThisGroup时能够与其他代码或组件进行交互例如触发事件你可以采用几种设计策略。这些策略通常涉及使用事件发射emitting events、回调函数或利用 Vue 的全局事件总线。下面我将提供几种方法来实现这种交互。 方法 1: 使用事件发射EventEmitter 你可以使用一个事件发射器EventEmitter来在你的类中触发事件。这可以通过使用 Node.js 的 events 模块或一个简单的第三方事件库来实现。 安装事件库例如 mitt一个轻量级的事件库 npm install mitt修改 GroupManager 类 // GroupManager.ts import { reactive } from vue; import axios from axios; import mitt from mitt; import { GroupV2Response } from ./path-to-type-definitions;interface GroupData {groupList: ArrayGroupV2Response;current: GroupV2Response; }export class GroupManager {public groupData: GroupData;groupType 1;emitter mitt(); // 创建事件发射器constructor(groupData: GroupData) {this.groupData groupData;}loadGroupChildrenList (parentGroupCode: string|null) {axios.post(/gallery/group/query-group-children, {groupCode: parentGroupCode,type: this.groupType,}).then(resp this.groupData.groupList resp.data.data);}selectThisGroup (group: GroupV2Response) {this.groupData.current group;this.loadGroupChildrenList(group.groupCode);this.emitter.emit(group-selected, group); // 触发事件}clearCurrentGroup () {this.groupData.current {} as GroupV2Response;this.emitter.emit(group-cleared); // 触发事件}on(eventName: string, handler: (event?: any) void) {this.emitter.on(eventName, handler); // 提供方法来监听事件}off(eventName: string, handler: (event?: any) void) {this.emitter.off(eventName, handler); // 提供方法来移除监听} }使用 GroupManager 类 script setup langts import { createGroupManager } from ./GroupManager;const { groupData, groupManager } createGroupManager();groupManager.on(group-selected, (group) {console.log(Selected group:, group); });groupManager.on(group-cleared, () {console.log(Group cleared); });onUnmounted(() {// 确保在组件卸载时移除事件监听器避免内存泄漏groupManager.off(group-selected, handler);groupManager.off(group-cleared, handler); }); /script方法 2: 使用回调函数 另一种方法是在 GroupManager 类的构造函数中接受一个或多个回调函数作为参数当发生特定的动作时调用这些函数。 // GroupManager.ts export class GroupManager {public groupData: GroupData;groupType 1;private onSelectGroup: (group: GroupV2Response) void;private onClearGroup: () void;constructor(groupData: GroupData, onSelectGroup: (group: GroupV2Response) void, onClearGroup: () void) {this.groupData groupData;this.onSelectGroup onSelectGroup;this.onClearGroup onClearGroup;}selectThisGroup (group: GroupV2Response) {this.groupData.current group;this.loadGroupChildrenList(group.groupCode);this.onSelectGroup(group);}clearCurrentGroup () {this.groupData.current {} as GroupV2Response;this.onClearGroup();} }在这种设计中你可以在创建 GroupManager 实例时提供具体的回调函数使得类的行为更加灵活。这种方式适合于较为简单的交互场景且当交互逻辑较为固定时。 通过上述两种方法你可以使 GroupManager 类在执行其内部方法时与外部代码有效交互根据具体的应用场景选择适合的设计模式。
http://www.hkea.cn/news/14333498/

相关文章:

  • 能免费做网站吗nas 可以做网站吗
  • 嘉兴百度网站推广wordpress定期修改密码
  • 如何制作一个手机网站潮州建设局网站
  • 室内设计网站图片济宁亿蜂网站建设
  • 行业seo网站优化方案制作app软件需要用到哪些技术
  • 苏州高端网站制作华夏建筑工程网
  • 哪个软件可以做明星视频网站制作视频剪辑
  • 如何知道一个网站是用什么做的俄语网站建设注意事项
  • ps免抠素材网站大全黄岩路桥网站设计
  • 建设 银行网网站深圳建网站兴田德润可信
  • 有做教育行业的招聘网站吗北京搭建工厂
  • 行业应用网站建设成本怎么才能让百度收录网站
  • 个人做网站平台汕头在线制作网站
  • 上海网站外包正邦设计待遇怎么样
  • 科技公司网站模板官网快速搭建网站的软件
  • 粮食网站建设的背景及意义自己电脑做网站服务器设置
  • 自己做的网站在百度怎么发布产品介绍网站设计怎么做
  • 什么企业适合做网站备案信息 网站名
  • 国外单页制作网站模板优化大师官方下载
  • 京鑫建设集团网站wordpress添加js文件
  • 沧州网站制作的流程wordpress管理员密码
  • 中建国能建设集团网站wordpress wp-stats
  • 美术馆网站网页设计方案做网站怎么兼容所有浏览器
  • 拟定建设方案物流网站网络设计初步方案包括
  • 网站不可以做哪些东西WORDPRESS自定义加载不出来
  • 响应式网站的制作东莞模板网页制作
  • fomo3d网站开发网站建设攵金手指科杰壹陆
  • 网站开发软件三剑客产品市场推广途径
  • 做网站费用会计科目怎样优化自己的网站
  • 360浏览器屏蔽某网站怎么做如何注册一家投资公司