#NUXT.JS 中常用组件方法的存储位置

2024-05-03

实际上我想知道#NUXT.JS 中常见组件方法的存储位置。

我尝试过的事情。 --> 在中间件中存储公共代码(它没用),因为据我所知,中间件只能处理对服务器的请求和响应。

methods: {

  // states methods.
  SwitchManager: function (__dataContainer, __key, __value) {
    // stand alone debugger for this module.
    let debug = __debug('computed:_3levelSwitch')
    // debug showing function loaded.
    debug('(h1:sizeCheck) creating switch..')
    // switch.
    switch (__key) {
      // fake allow set value to true of given key
      default:
        this[__dataContainer][__key][__value] = true
        break
    }
    return this[__dataContainer][__key][__value]
  },
  SizeCheck: function (__size) {
    // stand alone debugger for this module.
    let debug = __debug('tags:p')
    // debug showing function loaded.
    debug('(p:sizeCheck) checking..')
    // init switch.
    this.SwitchManager('pill', 'size', __size)
  },
  StateCheck: function (__state) {
    // stand alone debugger for this module.
    let debug = __debug('tags:h1')
    // debug showing function loaded.
    debug('(h1:sizeCheck) checking..')
    // init switch.
    this.SwitchManager('pill', 'state', __state)
  }
},
created () {
  // h1 tag size check
  this.SizeCheck(this.size)
  this.StateCheck(this.state)
}

我去mixins https://v2.vuejs.org/v2/guide/mixins.html就像普通的 vue.js 一样。唯一的区别 - 对于全局 mixins - 我将它们作为插件包含在内,但首先:

非全局混入

我会为我的 mixins 创建一个额外的文件夹。例如在一个/mixins/testMixin.js

export default {
  methods: {
    aCommonMethod () {}
  }
}

然后导入布局、页面或组件并通过 mixins 对象添加它:

<script>
  import commonMixin from '~/mixins/testMixin.js'
  export default {
    mixins: [commonMixin]
  }
</script>

全局混入

例如在一个新文件中plugins/mixinCommonMethods.js:

import Vue from 'vue'

Vue.mixin({
  methods: {
    aCommonMethod () {}
  }
})

然后将该文件包含在nuxt.config.js

plugins: ['~/plugins/mixinCommonMethods']

之后,您将在任何地方都可以使用该方法并在那里调用它this.commonMethod()。但这里有一个来自vue.js 文档 https://v2.vuejs.org/v2/guide/mixins.html#Global-Mixin:

谨慎谨慎地使用全局 mixins,因为它会影响创建的每个 Vue 实例,包括第三方组件。在大多数情况下,您应该仅将其用于自定义选项处理,如上例所示。将它们作为插件提供以避免重复应用也是一个好主意。


注入 $root 和上下文

另一种可能性是注入 $root 和上下文 https://nuxtjs.org/guide/plugins#inject-in-root-amp-context

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

#NUXT.JS 中常用组件方法的存储位置 的相关文章

  • 为什么这个 chrome.browserAction.setIcon 方法不起作用?

    我正在查看文档页面 https developer chrome com extensions browserAction method setIcon我不知道我的代码有什么问题 chrome browserAction setIcon d
  • 删除 JSON 属性 [重复]

    这个问题在这里已经有答案了 如果我有一个 JSON 对象 请说 var myObj test key1 value key2 value 我可以删除 key1 使其变为 test key2 value Simple delete myObj
  • Node.js - 将数据缓冲到 Ffmpeg

    我使用 Node js 和 Ffmpeg 来创建动画 因为我试图避免第三方 avi mp4 解析器 所以我决定将动画输出为原始 rgb24 数据文件 然后使用一些程序将其转换为 mp4 文件 我发现 Ffmpeg 是免费且开源的 它完全可以
  • 获取现有 SVG 元素的属性并使用 d3.js 绑定为数据

    我有一个现有的 svg 元素 例如
  • OOP Javascript - 是否需要“获取属性”方法?

    给定一个非常简单的 js 对象构造函数及其原型 function MyTest name this name name MyTest prototype getName function var myName this name retur
  • 如何在没有 Node.JS 的情况下运行 UglifyJS2

    无论如何都要跑UglifyJS2 https github com mishoo UglifyJS2没有node js 假设我想使用 JavaScript 脚本引擎在 JVM 进程中运行它 怎么做 我看到米秀回答你了https github
  • window.alert() 之后无法编辑输入文本字段

    我有这个 Electron 应用程序 使用 NodeJS Bootstrap AngularJS 其中包含一些可以编辑的文本输入字段 我有一个触发 window alert 的按钮 触发后 文本输入字段将不再可编辑 单击应用程序的其他元素不
  • 获取块上的 execFile stdOut

    我正在尝试使用 execFile 并记录提供任务完成百分比的 stdOut 但回调函数 var child require child process child execFile path to the file options func
  • React + Redux 和 REST API?

    我在 Node 中构建了一个简单的 CRUD 应用程序 并已在 Express 中完成了其余 API 的创建 我现在正在寻求添加前端功能 并希望使用 React Redux 作为学习练习 然而 似乎所有围绕此的教程都直接使用 Redux 访
  • 在 JavaScript 中使用随机数创建长度为 n 的数组

    跟进这个答案 https stackoverflow com a 34693778 1525840为了创建指定长度的数组 我执行了以下命令以获得相应的结果 但填充了随机数 而不是零 var randoms Array 4 fill Math
  • Angularjs - ng-click 函数与指令

    我无法决定在以下情况下使用哪种方法 我试图在点击按钮时发出警报 我可以使用两种方法来做到这一点 哪个是最佳实践 请告诉我为什么 Method 1 div div
  • 随机字体颜色

    我需要用 2 或 3 种随机颜色为文本着色 我如何在 PHP 或 JavaScript 中执行此操作 color str pad sprintf x x x rand 0 255 rand 0 255 rand 0 255 6 rand 0
  • “google.maps.event.addDomListener(窗口,'加载',初始化);”是什么意思意思是? [复制]

    这个问题在这里已经有答案了 这是什么意思 google maps event addDomListener window load initialize 我有函数 initialize 但我还添加了两个参数 经度和纬度 所以它是这样的 fu
  • 在 MatDialog Content Angular 7 中添加新行

    我正在使用 MatDialog 并尝试在内容定义中添加新行 两个都 n and 没有这样做 有没有另一种方法无需手动进入 html 并更改它 因为它是可重用的组件 var status MatDialogRef
  • 以小并发批量运行 Promise(一次不超过 X)

    Async 库具有类似的功能每个限制 https github com caolan async eachLimit它可用于将大量作业有效地分布在多个 CPU 核心上 如下所示 var numCPUs require os cpus len
  • 在 React 中存储数据

    我实际上是 React 新手 无法选择在这种情况下存储数据的最佳方式是什么 我有一个包含一些输入的表单 我需要在提交时对这些输入中的所有数据执行一些操作 所有输入都存储在一个组件中 所以 我只需要在提交时获取所有数据 现在我正在尝试选择存储
  • Web 动画 API - 不同的动画持续时间?

    我正在尝试 Web Animations API 该 API 目前仅适用于 Webkit 浏览器 可以想象 文档有点稀疏 这是我在上面找到的一篇博客文章 http updates html5rocks com 2014 05 Web Ani
  • jquery中(“*”)有什么用

    我正在阅读 jQuery 我不知道为什么使用 请解释一下这有帮助 是jquery中的一个选择器 它可以无条件地选择所有内容 包括html head和body 这是一个解释其用法的示例 document ready function butt
  • 为什么需要原型对象(在函数中)?

    我阅读了大量有关原型的材料并了解继承的一般情况 然而 这是困扰我的一件事 我无法弄清楚 On dmitrysoshnikov com http dmitrysoshnikov com ecmascript javascript the co
  • 根据位置/日期更改日期选择器中的时间

    我在用着amsul 日期选择器和时间选择器 https amsul ca pickadate js time 我想根据选择的日期和复选框更改时间选择器的最小 最大小时 这是我的代码 var today new Date var tomorr

随机推荐