问题标签 [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.
vue.js - mixin 函数中最好的命名约定是什么?
过去我很难弄清楚使用多个 mixin 在组件上定义方法、计算值等的位置。有没有标准的做法解决这个问题?
我可以这样做:
但这不是很传统,可能会让其他开发人员感到困惑
vue.js - 在这种情况下如何使用 vue mixin?
我在两个 vue 组件中有以下代码:
如何在 mixin 中使用它?
这是我的混音(toggle.js)
但我不能使用它
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 时使用参数。
javascript - 使用 vue.js 路由和 mixin 的问题
Vue 开发人员。现在我正在尝试 vuebnb 教程,并且遇到了路由和 mixins 的问题。我尝试在使用 beforeRouteEnter 保护进入路由器之前分配数据,但似乎我的模板是在数据分配之前呈现的。以下是我尝试过的代码。
列表页面.vue
路由-mixin.js
这里的数据是一个对象,它就像{listing: {...}, images: Array(5), path: "/listing/1}。检查从服务器获取的数据。但是当我尝试渲染 ListingPage 时。 vue,错误在控制台中记录如下:*
不管错误如何,页面都显示成功。请帮我摆脱这个错误:
vue.js - 将道具传递给vuejs mixin,但属性未定义
当我尝试将道具传递给 mixin 时,我得到一个Cannot read property of undefined error
.
我是不是做错了什么,或者我还能如何克服这个问题?
mixins/BarMixin.js
:
components/FooComponent.vue
:
然后我尝试使用它,如下所示:
pages/foo.vue
vue.js - 如何在普通的 javascrip 文件中使用 mixins(不是单个文件模板)
在谷歌上搜索 vue mixins 时,我很惊讶有这么多关于这个主题的指南,但是所有的演示代码都使用了单个文件模板(或 vue 项目模板......)。那么如何在普通的javascript文件中使用vue mixins。我的情况是这样的:
首先,我使用 php-yii2 模板来开发我的网站(包括后端和前端)。在前端,我将 vue.js 文件添加到我的项目中以使用 vue 功能。有时,有一些可以重复使用的通用函数,所以我认为 vue mixins 可以解决这些情况。在我的方法中,我将创建一个单独的 .js 文件来声明 mixins 对象,然后其他 vue 对象(在其他 .js 文件中)可以重新使用该 mixins 对象方法。
你对我的案子有什么想法吗?太感谢了。
javascript - 我不能在 javascript 函数中调用 mixin 函数
我正在使用 nuxt.js 开发一个小项目,现在我已经使用 mixin 创建了一个插件,如您所见,但我不知道为什么函数 b 在渲染函数中不起作用:
typescript - ts2339 错误:如何在 vuejs 项目中使用 typescript mixin?
我最近将我的 vuejs 转换为 typescript base,但现在我在 typescript 中使用 mixin 时遇到了问题。我使用了两种类型的 mixin,但没有一种对我有用,它显示错误 ts2339,我无法在https://vuejs.org/v2/guide/typescript.html#Basic-Usage上找到解决方案: 第一个:
第二个:
那么,有什么办法可以解决这个问题吗?
.....................
更新:
.....................
javascript - 如何在导入的 JS 库中访问 VueJS Mixin
我有一个“commonLibrary.js”,已导入到我的 Vue 应用程序中。
这个库的一个小片段(和一个很好的例子)是:
因此,当调用“formatNumber”时,它会根据变量“defaultDecimalRounding”返回一个十进制舍入的数字
我想做的是将这个 defaultDecimalRounding 变量从 commonLibrary.js 中移到我的 Vue 应用程序中,以便可以在应用程序中更改它。
我创建了一个 Mixin,如下:
但我似乎无法让我的 formatNumber 函数读取这个 defaultDecimalRounding Mixin。
我不介意为 commonLibrary.js 进行代码重写,那里只有十几个函数,但如果知道如何让 VueJS 和导入的 JS 库在未来的项目中相互通信,那就太好了。
编辑 commonLibrary.js 被导入为:
vue.js - 在所有 vue 组件实例之间共享变量
我正在尝试重构一些代码并将一些代码移动到 mixin。但我得到了不同的行为。我希望在组件的所有实例之间共享一个对象。所以我写了类似下面的东西
在这些情况下,我通过this.$options.registeryManager
. 现在我已将此代码移至 mixin。
米信
零件
假设您有 2 个组件 A、B。之前,组件 A 的所有实例都有一个 registryManager,组件 B 的所有实例都有一个单独的 registryManger。使用 mixin,组件 A 和组件 B 的所有实例都共享一个注册表管理器,因为无论有多少组件使用 mixin,都只会创建一个 mixin 实例有没有办法创建一个 mixin 实例每个组件以获得更早的行为?