在 Vuejs 中使用 mixins

2024-03-15

我目前正在学习如何使用 Vuejs 开发应用程序。我有一个 main.js 文件,其中包含用于设置 Vue.js 的代码。我使用新文件 api.js 创建了一个新目录 /mixins。我想将其用作 mixin,以便每个组件都可以使用函数来访问我的 api。但我不知道该怎么做。

这是我的/mixins/api.js file:

export default{
  callapi() {
    alert('code to call an api');
  },
};

这是我的main.js file:

import Vue from 'vue';
import VueRouter from 'vue-router';
import VueResource from 'vue-resource';

import { configRouter } from './routeconfig';

import CallAPI from './mixins/api.js';

// Register to vue
Vue.use(VueResource);
Vue.use(VueRouter);


// Create Router
const router = new VueRouter({
  history: true,
  saveScrollPosition: true,
});

// Configure router
configRouter(router);


// Go!
const App = Vue.extend(
  require('./components/app.vue')
);

router.start(App, '#app');

现在我怎样才能以正确的方式包含我的 mixin,以便每个组件都可以访问callapi()功能?


如果你想在specific组件,而不是所有组件,您可以这样做:

mixin.js

export default {
  methods: {
    myMethod() { .. }
  }
}

组件.vue

import mixin from 'mixin';

export default {
  mixins: [ mixin ]
}

您可能考虑的另一件事是使用组件扩展设计模式,即创建一个基本组件,然后在子组件中继承该组件。如果您有许多组件共享许多选项并且可能也继承模板,那么它会涉及更多一些,但可以保持代码干燥。

我已经写过相关内容在我的博客上 http://vuejsdevelopers.com/2017/06/11/vue-js-extending-components/如果你有兴趣的话。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Vuejs 中使用 mixins 的相关文章

  • React Native 将样式设置为 State

    我想用backgroundColor of style1作为一种状态 并在函数中改变它change 我怎样才能访问style1 我的观点是调用该函数change从另一个函数 使按钮将其颜色更改为黄色 然后在一段时间后再次将其颜色更改为蓝色
  • javascript获取上周的第一天和最后一天[重复]

    这个问题在这里已经有答案了 我想用 javascript 获取上周的第一天 星期一 和最后一天 星期日 我已经检查过其他主题 但它不起作用 我还需要处理前一周是否是两个不同的月份 我正在使用此代码 但最后一个星期日是 06 03 2014
  • 了解执行模型和事件循环

    我读过很多关于JavaScript单线程执行模型 事件循环和事件队列的文章 但有一件事尚不清楚 我创建了一个小提琴来说明我的问题 http jsfiddle net yzpmf67f http jsfiddle net yzpmf67f
  • 一个文本区域中的文本应复制到另一个文本区域,并且应使用 JavaScript 单击按钮清除原始文本区域

    我已经完成了以下代码 它显示两个文本区域 其中一个文本区域中的文本通过使用 javascript 单击按钮复制到另一个文本区域
  • 表单未使用 AJAX 提交

    再次更新 如果有人关心的话 我之前发布的解决方案由于某种原因停止工作 我在 ajax 请求中包含了 beforeSend 并将验证表单的 js 部分粘贴到其中 现在就像一个魅力 form on submit function e e pre
  • angular.copy() 和 JSON.parse(JSON.stringify()) 之间的区别?

    有人可以解释 angular copy 和 JSON parse JSON stringify 之间的区别吗 有吗 您会推荐使用什么 angular fromJson angular toJson 与 JSON parse JSON str
  • npm install -D sass-loader node-sass Vue.js 2021

    您好 问题是为 Vue js 设置 SASS 我跑 Node js 15 7 0 Vue js vue cli 4 5 11 这是我在运行此命令时在控制台中遇到的错误 npm install D sass loader 节点 sass np
  • JavaScript 中的 Promise.all:如何获取所有 Promise 的解析值?

    我编写了以下node js文件 var csv require csv parser var fs require fs var Promise require bluebird var filename devices csv var d
  • 如何使用 jquery 从 iframe 内部滚动?

    我正在使用一个 Shadowbox 它生成一个 iframe 以在页面上显示产品详细信息 由于详细信息页面可能相当长 因此客户端需要一个 更多 按钮来向下滚动页面 显然 iframe 右侧的滚动条还不够 这是我为了让 iframe 滚动而尝
  • 在 AngularJS 中覆盖运行时的依赖关系

    我有一个服务叫 doggedHttp 它公开了与 http 现在我想创建一个 doggedResource服务是有角度的 resource服务之上 doggedHttp代替 http 换句话说我想注入 doggedHttp as the h
  • 使用JS将图像的特定背景颜色设置为透明

    我正在使用以下代码来修改图像的透明度 然而 我想做的只是修改图像的背景颜色并将其 alpha 通道设置为 0 而不是整个图像 以下代码将整个图像的 Alpha 透明度设置为 0 var ctx this data getContext 2d
  • 在 NPM 上捆绑并发布客户端 Web 代码

    我制作了一个 JavaScript 文件 假设它的内容是这样的 let myCoolAlert str gt alert str in a different js file SO doesn t allow you to cross fi
  • 避免 AngularJS 部分视图在 IE 中缓存

    我正在开发一个 ASP NET MVC 应用程序 它也有一些 angularJS 我有一个主页 其中有不同的选项卡 当您单击它们时 它们会加载角度部分视图 主页是这样的 div class widget div div class widg
  • 将服务连接到现有的流星帐户

    我正在设置一个流星应用程序 其中涉及使用用户名和密码进行注册 然后希望将该帐户与 Facebook 和 Twitter 连接起来 我只需使用帐户包即可轻松启动并运行第一部分 但是当我有一个登录用户调用 Meteor loginWithFac
  • Firefox OS 后台服务

    我想构建一个应用程序 用户可以通过它输入一些设置 并且应用程序将启动后台服务来根据这些设置执行一些任务 我只想在模拟器中运行应用程序和后台服务 我知道它需要 认证 模式才能运行后台服务 但我现在不考虑在 Firefox Marketplac
  • Rails - 使链接与 ajax 一起工作

    我有一个链接 应该使用 ajax 加载它旁边的部分内容 而无需重新加载页面 链接在这里 这是链接应该转到的控制器 class ProfilesController lt ApplicationController def profile f
  • 单击窗口后才检测到 keydown

    在我的 Web 应用程序中 我有一个用于打开菜单的键的事件侦听器 仅当我单击页面上的任意位置后 此功能才可以正常工作 我尝试将焦点添加到窗口加载 但这仍然不会让 keydown 函数运行 直到我单击页面上的某个位置之后 有谁知道这是否可能
  • 如何在 svelte 中制作搜索过滤器

    我有两个组件在组件树中距离很远 我对如何在两者之间进行通信存有疑问 我有搜索组件 listItems 和商店 商店 svelte
  • 如何修复 AJAX 在选中复选框时始终触发?

    有时这个 AJAX 会触发 有时不会 让我解释一下 habit js document ready function habit check change function habit this parent siblings habit
  • 如何在odoo中重写js函数

    我想加载 shop checkout url 函数是 odoo define change info order website sale change info order function require use strict oe w

随机推荐

  • 字符 0 周围的值无效,NSJSONSerialization

    我从我的服务器获取并得到有效的响应 void connection NSURLConnection connection didReceiveData NSData data Append the new data to the insta
  • 对 EF 中的跟踪感到困惑(使用子集合更新实体)

    所以我是 EF 新手 我正在使用 EF6 并且我在理解这个概念时遇到问题 我正在尝试使用子集合更新实体 这是我的实体类 public class TimeSheet public int TimeSheetID get set public
  • 如何在http请求中设置边界?

    我正在尝试在 Ajax 请求中发送多部分 表单数据 我正在使用 node busboy 来解析多部分数据 但它一直抛出错误 Error Multipart Boundary not found 我读过了here https stackove
  • 将 multipart/form-data POST 到 Serverless Next.js API(在 Vercel / Now.sh 上运行)

    我正在使用 Vercel Serverless 函数来处理上传到 Digital Ocean Spaces 的文件 与 AWS S3 相同的 API 但是 我在请求处理程序中处理多部分 表单数据时遇到了问题 在前端 我使用 fetch 来发
  • TkInter:如何等待方法完成后的回调

    使用 Tkinter after 方法时 代码会继续传递 而不等待回调完成 import tkinter as tk import tkinter ttk as ttk import time from datetime import da
  • Terraform 强制替换 AKS 节点池而不进行任何更改

    我的 k8s 集群中的其他节点池有以下资源定义 resource azurerm kubernetes cluster node pool extra for each var node pools kubernetes cluster i
  • GCDAsyncSocket“didReadDataWithTag”从未使用 NSOperation 子类调用

    在某些 XIB 文件的 getMyFile 方法中 我正在创建一个 A 类 NSOperation 的子类 的对象并将其添加到 myFileQueue NSOperationQueue 的对象 中 myFileQueue MaxConcur
  • 用Lua检查文件是否存在

    如何使用Lua检查文件是否存在 Try function file exists name local f io open name r if f nil then io close f return true else return fa
  • 根据特定条件将内容从 list1 复制到 list2

    如果我有两个如此定义的泛型列表 type pMyList record a b integer c string end TMyList TList
  • Delphi thiscall 调用约定

    我需要调用非静态 C 成员函数 因此我需要使用thiscall调用约定 Delphi 不支持这种调用约定 因此 在调用任何成员函数之前 我必须手动将参数推送到堆栈中 asm mov ecx myClassPointer end 这工作正常
  • 为什么 getStringExtra 没有给出正确的输出?

    我试图将一些字符串从一个意图传递到另一个意图 但 adt 说 键文本需要字符串 但值是 android text SpannableString 返回默认值 但我使用字符串作为键 而不是它声称的那样 这是我的第一个活动的代码 private
  • 避免导入“sys.path.append(..)”

    这不是我第一次畏缩imports在Python中 但我想这是一个有趣的用例 所以我想在这里询问它以获得更好的见解 我的项目结构如下 sample project src init py module1 init py utils py mo
  • 如何在页面刷新/加载时刷新验证码图像?

    我想强制我的网站在每次加载时刷新验证码图像 因此我有一个由 onload 事件触发的 javascript 方法 这里我有以下行 document getElementById yw0 button click Firebug 没有检测到任
  • 高效地按行应用函数

    我有一个包含多个列的数据框 其中包含一个诊断的信息 条目是TRUE FALSE or NA 我创建了一个向量 将这些列总结如下 如果患者在某个时间被诊断出来 TRUE then TRUE 如果唯一有效的条目是FALSE then FALSE
  • 如何在SWI-Prolog中启用所有统一中的发生检查?

    根据维基百科 https en wikipedia org wiki Occurs check 为所有统一提供声音统一的实现是 Qu Prolog 和 Strawberry Prolog 以及 可选地 通过运行时标志 XSB SWI Pro
  • 如何使我的 SVG 移动设备具有响应能力

    我想为网站制作 svg 动画 但 svg 不支持移动响应 它延伸出背景 从而使网站的宽度超出了我的预期 我认为很可能我在视口或宽度和高度上做错了什么 但我不知道哪里出了问题 此外 当我将 chrome 浏览器最小化到移动屏幕宽度尺寸时 它在
  • 所需的 Bluemix Analytics for Apache Spark 日志文件信息

    我在调试我的 Spark 笔记本时想要更多信息 我找到了一些日志文件 ls HOME notebook logs 这些文件是 bootstrap nnnnnnnn nnnnnn log jupyter nnnnnnnn nnnnnn log
  • 矩阵到欧拉角

    我正在尝试从旋转矩阵中提取欧拉角 我的约定 矩阵列主 坐标系右手 正角右手 旋转顺序 YXZ 首先是航向 然后是姿态 然后是倾斜 我发现了这个 但无法使用它 因为它们使用其他轴顺序 http www euclideanspace com m
  • 我应该使用 Eclipse 插件(或 OSGi Bundles)作为普通的依赖管理工具吗?

    它再次发生了 我加入了一个新项目 该项目由几个具有相互依赖性的普通 Eclipse Java 项目组成 所有项目都通过项目构建路径进行管理 我发现这一切有点混乱 当谈到运行配置时 你就进入了地狱 过去 我一直坚持创建插件项目 而不是普通的
  • 在 Vuejs 中使用 mixins

    我目前正在学习如何使用 Vuejs 开发应用程序 我有一个 main js 文件 其中包含用于设置 Vue js 的代码 我使用新文件 api js 创建了一个新目录 mixins 我想将其用作 mixin 以便每个组件都可以使用函数来访问