小编ang*_*ala的帖子

使用Vue.js滚动到div的底部

我有一个Vue组件,里面有几个元素.我想在调用组件中的方法时自动滚动到该元素的底部(基本上,与滚动到div底部的方法相同).但是,我还没有找到在我的组件中获取元素并进行修改的方法scrolTop

我目前正在使用Vue 2.0.8

javascript vue.js

31
推荐指数
7
解决办法
7万
查看次数

不从GraphqL变异返回数据

我有几个Graphql查询和突变,现在我正在尝试实现删除变异而不返回任何数据:

type Mutation{
    addElement(element:ElementData): ID
    removeElement(id:ID): ¿?
}
Run Code Online (Sandbox Code Playgroud)

但是,似乎需要删除操作的返回值.有没有办法在graphql中执行"空"响应?我想避免像可能的情况那样返回布尔值或状态标志.

我不确定Graphql删除操作的最佳实践是什么

graphql

20
推荐指数
3
解决办法
1万
查看次数

从vue中的子组件访问键

根据Vue docs,绑定密钥需要在v-for中使用自定义组件:

<template v-for="(task,i) in tasks">
    <task-card v-bind:task="task" v-bind:key="i"></task-card>
</template>
Run Code Online (Sandbox Code Playgroud)

我想在子组件(task-card)中使用该键,但是既不使用this.key也不添加key作为prop(是保留的Vue关键字).有没有办法做到这一点,而没有通过另一个价值"我"的道具?目前正与之合作"vue": "^2.5.9".

javascript vue.js vuejs2

11
推荐指数
1
解决办法
7002
查看次数

在Vue.js中从父组件执行子方法

目前,我有一个Vue.js组件,其中包含其他组件的列表.我知道使用vue的常用方法是将数据传递给子节点,并从子节点向父节点发送事件.

但是,在这种情况下,我想在单击父级中的按钮时在子组件中执行方法.这是最好的方法吗?

javascript vue.js

8
推荐指数
1
解决办法
6896
查看次数

在生产中使用带有 docker 的 rabbitmq

我目前有一个在 docker 容器中运行的小型服务器,该服务器使用 RabbitMQ,该服务器由docker -compose 使用DockerHub 映像运行

它运行良好,但我担心它可能没有正确配置用于生产(生产是一个简单的服务器,没有集群或任何花哨的东西)。特别是,我担心RabbitMQ 生产清单中描述的磁盘空间限制

我不确定如何通过 docker-compose 配置这些东西,因为图像定义的 env 变量似乎非常有限。

我的 docker-compose 文件:

version: '3.4'
services:
  rabbitmq:
    image: rabbitmq:3-management-alpine
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - rabbitmq:/var/lib/rabbitmq
    restart: always
    environment:
      - RABBITMQ_DEFAULT_USER=user
      - RABBITMQ_DEFAULT_PASS=secretpassword

  my-server:
   # server config here

volumes:
  rabbitmq:

networks:
  server-network:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

rabbitmq docker docker-compose

7
推荐指数
1
解决办法
2574
查看次数

在 github 操作中重试失败的作业

我正在尝试使用GitHub Actions进行 CI 测试,到目前为止我的测试工作流程如下:

name: test

on: [push]

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12
      - run: npm install
      - name: test
        run: |
          npm run lint
          npm test
        env:
          CI: true
Run Code Online (Sandbox Code Playgroud)

.github/workflows/test.yml

它工作正常,除非我想test在测试失败时重试该步骤(或整个工作)一次。

基本上,您获得的行为相同travis-retry

script:
  - npm run lint
  - travis_retry npm test
Run Code Online (Sandbox Code Playgroud)

或使用 Gitlab CI:

test:
  stage: test
  retry: 1
  script:
    - npm run lint
    - npm test
Run Code Online (Sandbox Code Playgroud)

不确定是否有解决此问题的方法或相当简单的解决方法

continuous-integration github-actions

7
推荐指数
1
解决办法
3541
查看次数

使用 Typescript 运行 mocha 会抛出: TypeError [ERR_UNKNOWN_FILE_EXTENSION]: 未知文件扩展名“.ts”

我正在尝试使用 Typescript 和Mocha编写一些测试。

根据其文档,我最终得到了以下设置:

包.json

{
//...
  "scripts": {
    "test": "mocha",
  },
//...
}
Run Code Online (Sandbox Code Playgroud)

.mocharc.json

{
  "extension": ["test.ts"],
  "spec": "tests/*.test.ts",
  "require": "ts-node/register",
  "recursive": true
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
    "compilerOptions": {
        "outDir": "dist",
        "module": "commonjs",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": false,
        "strict": true,
        "esModuleInterop": true,
        "isolatedModules": true,
    },
    "files": [
        "src/main/main.ts",
    ],
}
Run Code Online (Sandbox Code Playgroud)

运行npm test会抛出以下错误:TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for [...]/tests/task.test.ts

这是我唯一的测试,为了完整性,它一直有效,直到我导入一个单独的.ts文件( ):../src/core/task

任务.test.ts

import { assert } from 'chai';
import …
Run Code Online (Sandbox Code Playgroud)

mocha.js node.js typescript

6
推荐指数
1
解决办法
6274
查看次数

确认后,SweetAlert2禁止外部点击

我想创建类似于ajax示例的警报,但确认之前允许外部点击关闭.用户点击确认后,我想禁止外部点击,直到操作完成.

allowOutsideClick像示例中那样将config变量设置为false将永远不允许外部单击,并且我没有在文档中看到以编程方式实现此行为的有效方法.

javascript sweetalert sweetalert2

4
推荐指数
1
解决办法
2197
查看次数

在Sweetalert2内容中使用Vue组件

我在Vue项目中有一些普通的Sweetalert2模态。我想在警报中使用自定义组件。例如:

<template>
  <h1>Hello {{name}}</h1>
</template>
<script>
module.exorts: {
  props: ["name"]
}
</script>
Run Code Online (Sandbox Code Playgroud)

my_template.vue

而且,在我的Sweetalert模式中:

swal({
  titleText: "Hi",
  html: '<my-template name="hello"></my-template>'
});
Run Code Online (Sandbox Code Playgroud)

我不确定这是否可行或如何实现。

javascript vue.js sweetalert2

4
推荐指数
1
解决办法
2832
查看次数

了解 Express 应用程序是否作为 Firebase 云功能运行

我有一个 Express 应用程序,我想在我的计算机中作为独立服务器在本地运行,但是,当将其部署到 firebase 云功能时,我需要将其设置为云功能。

有没有一种可靠的方法可以知道应用程序在哪个环境中运行而无需手动设置环境变量或者最佳实践是什么?

例如:

if(isRunningInFirebase()){
  exports.myFun=functions.https.onRequest(app)
} else app.listen(3030)
Run Code Online (Sandbox Code Playgroud)

node.js express firebase google-cloud-functions

4
推荐指数
2
解决办法
1267
查看次数

Font Awesome无法使用vue正确更新

我正在尝试使用超棒的字体和布尔玛制作一个可点击的“星形”图标,在Vue中的常规样式和实体样式(fas和far)之间切换,要实现这一点,我需要以下组件:

<template>
    <span v-if="isStarred" class="icon starred config-icon clickable-text" @click="unstar">
        <i class="far fa-star" title="Unstar Ranking"/>
    </span>
    <span v-else class="icon unstarred config-icon clickable-text" @click="star">
        <i class="fas fa-star" title="Star Ranking"/>
    </span>
</template>
Run Code Online (Sandbox Code Playgroud)

该值isStarred正在正确更新,并且span元素也在相应更新。但是,i带有图标的元素直到我完全重新加载页面后才会更新。

我可以用v-show代替,v-if但是我不明白为什么这不起作用。

font-awesome vue.js bulma

3
推荐指数
2
解决办法
805
查看次数

使用 date-fns 获取两个范围内的重叠月份

我正在尝试使用date-fns在两个日期间隔内获得重叠的月份:

const range1 = { start: new Date('2018-01-01'), end: new Date('2019-01-01') }
const range2 = { start: new Date('2018-07-03'), end: new Date('2019-12-01') }
getOverlappingMonthsInIntervals(a, b)) // 6
Run Code Online (Sandbox Code Playgroud)

查看 date-fns 文档,我看到了该方法,getOverlappingDaysInIntervals但几个月没有类似的方法。有没有办法通过 date-fns 或解决方法(除了getOverlappingDaysInIntervals/30)来实现这一点

javascript node.js date-fns

2
推荐指数
1
解决办法
778
查看次数