问题标签 [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 投票
4 回答
4359 浏览

vue.js - mixin 函数中最好的命名约定是什么?

过去我很难弄清楚使用多个 mixin 在组件上定义方法、计算值等的位置。有没有标准的做法解决这个问题?

我可以这样做:

但这不是很传统,可能会让其他开发人员感到困惑

0 投票
1 回答
86 浏览

vue.js - 在这种情况下如何使用 vue mixin?

我在两个 vue 组件中有以下代码:

如何在 mixin 中使用它?

这是我的混音(toggle.js)

但我不能使用它

0 投票
1 回答
617 浏览

javascript - [Vue 警告]:使用带有参数的 mixin 时无法挂载组件

从昨天开始,我一直在努力创建一个带有参数的 Vue mixin,我得到了一个 [Vue warn]: Failed to mount component: template or render function not defined。这是我的 JS 文件,包括 mixin:

这是我的 Vue 组件:

导入此文件有效,因为当我尝试导入没有参数的普通 mixin 时,它可以正常工作。我也尝试过champions"champions"而不是this.champions但似乎没有工作。mixin有问题吗?我读到可以返回一个函数,该函数返回一个对象以在创建 mixins 时使用参数。

0 投票
1 回答
206 浏览

javascript - 使用 vue.js 路由和 mixin 的问题

Vue 开发人员。现在我正在尝试 vuebnb 教程,并且遇到了路由和 mixins 的问题。我尝试在使用 beforeRouteEnter 保护进入路由器之前分配数据,但似乎我的模板是在数据分配之前呈现的。以下是我尝试过的代码。

列表页面.vue

路由-mixin.js

这里的数据是一个对象,它就像{listing: {...}, images: Array(5), path: "/listing/1}。检查从服务器获取的数据。但是当我尝试渲染 ListingPage 时。 vue,错误在控制台中记录如下:*

不管错误如何,页面都显示成功。请帮我摆脱这个错误:

控制台中的错误消息

0 投票
2 回答
8591 浏览

vue.js - 将道具传递给vuejs mixin,但属性未定义

当我尝试将道具传递给 mixin 时,我得到一个Cannot read property of undefined error.

我是不是做错了什么,或者我还能如何克服这个问题?

mixins/BarMixin.js

components/FooComponent.vue

然后我尝试使用它,如下所示:

pages/foo.vue

0 投票
1 回答
177 浏览

vue.js - 如何在普通的 javascrip 文件中使用 mixins(不是单个文件模板)


在谷歌上搜索 vue mixins 时,我很惊讶有这么多关于这个主题的指南,但是所有的演示代码都使用了单个文件模板(或 vue 项目模板......)。那么如何在普通的javascript文件中使用vue mixins。我的情况是这样的:
首先,我使用 php-yii2 模板来开发我的网站(包括后端和前端)。在前端,我将 vue.js 文件添加到我的项目中以使用 vue 功能。有时,有一些可以重复使用的通用函数,所以我认为 vue mixins 可以解决这些情况。在我的方法中,我将创建一个单独的 .js 文件来声明 mixins 对象,然后其他 vue 对象(在其他 .js 文件中)可以重新使用该 mixins 对象方法。
你对我的案子有什么想法吗?太感谢了。

0 投票
1 回答
146 浏览

javascript - 我不能在 javascript 函数中调用 mixin 函数

我正在使用 nuxt.js 开发一个小项目,现在我已经使用 mixin 创建了一个插件,如您所见,但我不知道为什么函数 b 在渲染函数中不起作用:

0 投票
3 回答
2095 浏览

typescript - ts2339 错误:如何在 vuejs 项目中使用 typescript mixin?

我最近将我的 vuejs 转换为 typescript base,但现在我在 typescript 中使用 mixin 时遇到了问题。我使用了两种类型的 mixin,但没有一种对我有用,它显示错误 ts2339,我无法在https://vuejs.org/v2/guide/typescript.html#Basic-Usage上找到解决方案: 在此处输入图像描述 第一个:

第二个:

那么,有什么办法可以解决这个问题吗?

.....................

更新:

.....................

使用 vue-typed-mixins 后,问题已解决,但另一个问题暴露出来,如下图所示: 在此处输入图像描述

0 投票
2 回答
218 浏览

javascript - 如何在导入的 JS 库中访问 VueJS Mixin

我有一个“commonLibrary.js”,已导入到我的 Vue 应用程序中。

这个库的一个小片段(和一个很好的例子)是:

因此,当调用“formatNumber”时,它会根据变量“defaultDecimalRounding”返回一个十进制舍入的数字

我想做的是将这个 defaultDecimalRounding 变量从 commonLibrary.js 中移到我的 Vue 应用程序中,以便可以在应用程序中更改它。

我创建了一个 Mixin,如下:

但我似乎无法让我的 formatNumber 函数读取这个 defaultDecimalRounding Mixin。

我不介意为 commonLibrary.js 进行代码重写,那里只有十几个函数,但如果知道如何让 VueJS 和导入的 JS 库在未来的项目中相互通信,那就太好了。

编辑 commonLibrary.js 被导入为:

0 投票
2 回答
516 浏览

vue.js - 在所有 vue 组件实例之间共享变量

我正在尝试重构一些代码并将一些代码移动到 mixin。但我得到了不同的行为。我希望在组件的所有实例之间共享一个对象。所以我写了类似下面的东西

在这些情况下,我通过this.$options.registeryManager. 现在我已将此代码移至 mixin。

米信

零件

假设您有 2 个组件 A、B。之前,组件 A 的所有实例都有一个 registryManager,组件 B 的所有实例都有一个单独的 registryManger。使用 mixin,组件 A 和组件 B 的所有实例都共享一个注册表管理器,因为无论有多少组件使用 mixin,都只会创建一个 mixin 实例有没有办法创建一个 mixin 实例每个组件以获得更早的行为?