问题标签 [vue-mixin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
329 浏览

typescript - Vue 中的 GraphQL 片段

在描述一个问题和问题之前,基于这个问题,我需要说,它首先是架构问题,我已经用不同的关键字搜索了很多次答案或类似的东西,但总是得到诸如“你的第一个带有 Vue 和 Typescript 的 GraphQL 应用程序”。似乎我有一个更复杂的问题,需要更复杂的方式来回答,而且我相信,通过在那里提问,我至少可以获得我需要的第一个最小答案线索。

另外,如果我重复或问了这个问题,我也很抱歉,之前已经回答过了。通过stackoverflow的基本搜索没有给我任何结果。

所以,假设我们有一个 GraphQL 模式,它包含以下类型

我们在模式中也有查询

及其前端包装器

查询输入类型如下所示

在 7 个不同的 Vue 组件中,我需要根据类型Company使用 query加载 4 个片段之一companies。例如,对于下拉输入组件,我需要这个

但对于公司卡组件我需要

等等。

现在,关于 Vue 应用程序。我将 Vue 与 Typescript 以及相关包(例如vue-class-componentvue-property-decorator. 为了从模式生成类型,我使用apollo-graphql. 我设计的应用程序没有在 Vuex 中存储 graphql 实体对象。为此,我使用 mixins。我了解,基于 mixins 使用模式是有风险的,但我使用以下方法将风险降至最低(或者我认为我这样做了)

我声明了 mixin 上下文

然后,当它需要时,我使用 mixin 扩展我的组件。

最后,当我展示了一个代码,它现在在我的应用程序中使用时,我现在可以提出一个问题。

有没有办法使用带有实体参数的单个查询,即使没有 mixins,但使用可重用的 vue+typescript 代码,能够根据变量返回正确的类型?

我不想编写 7 个函数,或者在我的情况下是 7 个 mixin,它们具有 99% 的相同代码并使用相同的 GQL 实体,但它们使用的类型仍然不同。

ps 使用 GraphQL 的主要特点是可以用不同的方式查询不同的实体结构,但是如何减少类似的代码来处理查询并使用一些通用的方法(vuex/mixins)来处理它对我来说仍然是一个谜。相信有很多高素质的前端工程师,能回答这个问题的,我就从这里开始寻找。

先感谢您。

0 投票
2 回答
594 浏览

vue.js - 如何在 Vuejs 的 main.js 中使用 Mixin?

我正在尝试使用来自 mixin 的全局信息。我打算访问getNow组件中的计算道具,但它似乎是undefined.

主.js:

零件:

0 投票
0 回答
112 浏览

vue.js - 如何使用依赖于数据、道具或计算中的字段的方法为 Vue mixin 实现干净的接口

我有这个混音:

该方法和计算属性取决于一个名为 的字段headers。现在我有两个使用该 mixin 的组件,但其中一个headersprop,另一个是计算属性

我想以某种方式使这个 mixin 自包含,因此它的方法不依赖于用户可能忘记声明的字段。这是一个有点分散的问题,但我想要实现的是一个具有定义明确的接口的 mixin,它的功能没有在导入它的那些组件和它本身之间拆分。有任何想法吗?

0 投票
1 回答
85 浏览

typescript - 在@Component 中使用 vue mixin

我正在使用 vue-property-decorator 包,我想在 beforeRouteEnter 钩子中使用 mixin 方法。

我做了什么:

这有一个问题,因为to, fromnext并且vm不会自动分配它们各自的类型。

所以我需要做的是将 beforeRouteEnter 放入 @Component

这解决了类型的问题,它们是自动拾取的。但这带来了另一个问题。@Component 内部没有定义 mixin 方法。它说

我试图在 @Component 中注册 mixins,如下所示:

但这没有帮助。

有什么方法可以让 @Component 中的 beforeRouteEnter 挂钩以某种方式看到导入的 mixins 的方法吗?也许vm以某种方式扩展mixins?

0 投票
2 回答
750 浏览

javascript - Vuejs:使用导入的插件 mixin localy

是否可以在一个组件中使用从 VueJS 插件导入的 mixin?

我创建了一个插件,当我导入它时,我可以从我的所有组件中访问 mixin 的功能。

有没有办法让它只在一个组件中可用?还是所有插件都根据定义向 Vue 添加了全局级功能?

0 投票
1 回答
748 浏览

javascript - 为什么挂载在 Vue 插件或 Mixin 中会工作多次?

为什么它会重复自己以及如何防止它并使其只发生一次?是虫子吗?在插件中:

在这里只是混合:

在此处输入图像描述

0 投票
1 回答
249 浏览

typescript - Vue:定义属性/数据时,mixin的属性/数据不可用

我有一个存储信息的 vue mixin(world在下面的示例中),我想在几个 vue 组件中访问,而不是每次都显式导入它。

这是示例:

页面显示:

为什么第二个不起作用?这是设计使然吗?有什么比 3. 更好的规避方法吗?

0 投票
1 回答
778 浏览

vue.js - Laravel Inertia 中的 Vue mixins

我正在尝试通过 Vue mixin 在 Laravel Inertia 项目上创建一个全局帮助函数,但无济于事:

.

在一个独立的 Vue.JS 项目中,这是可行的。也许在 Inertia 的幕后有一些东西阻止了 mixin 的加载。有人可以帮我理解为什么会这样吗?

谢谢你。

0 投票
1 回答
124 浏览

javascript - Vue.js Import mixin 不会在应用程序中导入

请求的模块“./clienteMixin.js”不提供名为“default”的导出

米信

Vue 应用程序

0 投票
1 回答
170 浏览

javascript - Vue:Async Apollo mixin 函数打印一个值,但返回未定义

异步/返回未定义的查询在这里很常见,但我已经尝试了所有答案排列,但似乎无处可寻……如果我找不到它,请道歉。

我已将所有 Apollo 突变从我的主要 Vue 代码中取出到一个全局 mixin 中,以便我可以重用,但是我显然没有让其中一个查询的 async/promise 语法正确。

这是混合函数:

这是呼叫观察者。

我尝试过的其他排列只是简单地返回'ret'值而不用承诺包装,并使用

在观察者而不是 then 块中。控制台中的结果总是

我错过了什么?为什么值没有传递给观察者?

谢谢你的任何建议。