RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-312578

doox911's questions

Martin Hope
doox911
Asked: 2022-08-03 17:10:07 +0000 UTC

如何防止在 Vue 3 SFC 中格式化特定行或代码块

  • 0

有一个代码:

const { getViewTasks, appendTimelineToViewTask, getCSVTaskEventLog } = useTaskService();

我想像这样格式化它(手动或使用 Prettier):

const {
  getViewTasks,
  appendTimelineToViewTask,
  getCSVTaskEventLog
} = useTaskService();

但相反,我将其格式化为:

const { getViewTasks, appendTimelineToViewTask, getCSVTaskEventLog } =
  useTaskService();

导致 linter 错误的原因:

在此处输入图像描述

我知道Prettier会这样格式化它,因为字符串的长度是有限制的。

是否可以在Vue 3 SFC组件中禁用字符串或代码块的格式化?

vue3 eslint
  • 1 个回答
  • 63 Views
Martin Hope
doox911
Asked: 2022-06-28 16:15:11 +0000 UTC

Pop 类型的工作原理

  • 1
type Pop<T extends any[]> = T extends [...infer I, infer _] ? I : never

这是type-challenge中类型的推荐解决方案。Pop

同样有效的解决方案:

type Pop<T extends any[]> = T extends [...infer U, ...[unknown]] 
  ? U 
  : never

type Pop<T extends any[]> = T extends [...infer U, unknown] 
  ? U 
  : never

如果我们需要删除更多类型,我们只需添加:

type Pop<T extends any[]> = T extends [...infer U, ...[unknown, unknown]] 
  ? U 
  : never

Pop<[1,2,3,4,5]> // [1,2,3]

如果你在没有条件类型的情况下编写相同的东西,你会得到一个常规的合并:

type Merge<T extends any[], K extends any[]>  = [...T, ...K]

type m = Merge<[1,2,3], [1,unknown,unknown]>
//   ^? [1,2,3,1,unknown,unknown]

这个怎么运作?

typescript
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-05-29 20:39:18 +0000 UTC

如何在没有中间类型的情况下编写省略

  • 1
type MyExclude<T, K> = T extends K ? never : T

type MyOmit<T, K extends keyof T> = {
  [Key in MyExclude<keyof T, K>]: T[Key] 
}

// Так тоже работает
type MyOmitAs<T, K extends keyof T> = {
  [Key in keyof T as MyExclude<keyof T, K>]: T[Key] 
}

// type MyOmit<T, K extends keyof T> = {
//   [Key in keyof T as keyof T extends K ? never : T]: T[Key] 
// }

// type MyOmit<T, K extends keyof T> = {
//   [Key in keyof T extends K ? never : T]: T[Key] 
// }

我不明白为什么注释选项不起作用,但至少带有 的选项as,因为我只是将逻辑从中间类型转移到,粗略地说,循环。

操场

typescript
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-07-21 15:07:22 +0000 UTC

如何在 TypeScript 中声明对象的动态属性

  • 0

取自VueJs组件(版本:2,class-style-component):

    <v-container>
      <v-row
        v-for="(item, index) in shortcodes"
        :key="index"
      >
        <v-col>
          Замена №{{ index }}([__{{ index }}__])
          <edit-select-dropdown-options-single
            :ref="`editSelectDropdownOptionsSingle${index}`"
            :value="item.options"
            @select-option="setAnswer(index, $event)"
            @remove-option="removeOption(item.options, $event)"
          />
        </v-col>
      </v-row>
    </v-container>

动态就形成了ref。接下来,我需要参考这个ref:

this
 .$refs[`editSelectDropdownOptionsSingle${replacement.shortcode_key}`}[0]
  .someMethod(someArgs);

的文档refs。

我如何通过这个键来描述有一个数组,每个元素都有一个可用的方法someMethod?

vue.js
  • 2 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-07-07 14:37:29 +0000 UTC

如何允许使用 @typescript-eslint 包在 mixin 类中以 camelCase 命名属性

  • 0

我们使用Vue + TS和ESLint来编写前端。为了符合代码风格,我们使用了@typescript-eslint 插件。

问题是,props 是写入的camelCase,当编写类样式组件时,它们是类的属性。并且习惯于在snake_case. 对于组件文件,我们已经覆盖了这些规则,但 mixin 具有扩展名.ts,因此属于不适用于组件的规则 ( .vue)。

是否有可能在不添加使用camelCase的情况下以某种方式解决这个问题 files .ts,稍后需要对类属性的命名达成口头协议?

vue.js
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-06-29 19:28:58 +0000 UTC

如何在 PhpStorm 中添加俄语检查

  • 0

如何在PhpStorm IDE中进行拼写检查?

phpstorm
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-06-24 14:25:24 +0000 UTC

ESLint 和 PHPStorm 看不到导入

  • 0

使用Vuetify和ESLint安装NuxtJs。配置文件是自动创建的。进入它,由于导入的颜色,我看到了两个错误(linter 和 IDE):nuxt.config.jsimport colors from 'vuetify/es5/util/colors';

ESLint: 'vuetify' 应该列在项目的依赖中。运行“npm i -S vuetify”以添加它(导入/无外部依赖项)

模块未在 package.json 依赖项中列出

配置文件:

// .eslintrc.js
module.exports = {
  env: {
    browser: true,
    node: true,
    es2021: true,
  },
  extends: [
    'eslint:recommended',
    'airbnb-base',
    'plugin:nuxt/recommended',
    'plugin:vue/recommended',
    'plugin:vuetify/base',
    'plugin:@typescript-eslint/recommended',
  ],
  parser: 'vue-eslint-parser',
  parserOptions: {
    ecmaVersion: 12,
    parser: '@typescript-eslint/parser',
    sourceType: 'module',
  },
  plugins: [
    'vue',
    '@typescript-eslint',
  ],
  rules: {
    'vue/script-indent': [
      'error', 2, {
        baseIndent: 1,
        switchCase: 0,
        ignores: [],
      },
    ],
    'no-shadow': 'off',
    '@typescript-eslint/no-shadow': ['error'],
    'import/prefer-default-export': 'off',
    camelcase: ['error', {
      properties: 'never',
    }],
  },
  overrides: [
    {
      files: ['*.vue'],
      rules: {
        indent: 'off',
        camelcase: 'off',
      },
    },
  ],
  settings: {
    'import/resolver': {
      nuxt: {
        extensions: [
          '.ts',
          '.js',
          '.vue',
        ],
      },
    },
    'import/core-modules': [
      'vue',
      'vuex',
    ],
  },
};

如何克服?

typescript
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-04-08 17:55:49 +0000 UTC

Composer 不适用于个人访问令牌

  • 1

我personal access token在github(私人存储库)中生成。我通过composer命令将它添加到composerconfig -g github-oauth.github.com <token>并执行composer install它并得到一个错误:

[UnexpectedValueException]
您的 github.com 的 github oauth 令牌包含无效字符:""

原则上,它不会给出执行的单个命令。

作曲家版本:Composer version 2.0.6

UPD

删除令牌并运行composer install: 在此处输入图像描述

然后我再次尝试任何作曲家命令并再次得到相同的错误。

可能是什么问题呢?

composer
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-03-27 19:43:34 +0000 UTC

Laravel sanctum 认证失败

  • 0

作曲家.json:

    "require": {
        "ext-json": "*",
        "doctrine/dbal": "^2.12.1",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^2.0",
        "laravel/framework": "^8",
        "laravel/sanctum": "^2.9",
        "laravel/tinker": "^2.5",
        "spatie/laravel-permission": "^3.18"
    },

内核.php:

    protected $middlewareGroups = [
      'web' => [
        EncryptCookies::class,
        AddQueuedCookiesToResponse::class,
        StartSession::class,
        AuthenticateSession::class,
        // ShareErrorsFromSession::class,
        VerifyCsrfToken::class,
        SubstituteBindings::class,
      ],

      'api' => [
        EnsureFrontendRequestsAreStateful::class,
        'throttle:api',
        SubstituteBindings::class,
      ],
    ];

Cors.php:

return [
    'paths' => ['api/*, /login'],
    'allowed_methods' => ['*'],
    'allowed_origins' => ['*'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['*'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,
];

圣所.php:

    'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', implode(',', [
      'localhost',
      'localhost:8000',
      'localhost:8080',
      'localhost:8002',
      '127.0.0.1:8002',
      '127.0.0.1:8080',
    ]))),

auth.php:

    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'hash' => false,
        ],
    ],

RouteServiceProvider.php:

        Route::prefix('api/v1')
          ->middleware('auth:sanctum')
          ->group(function() {
              require_once base_path('routes/Api/V1/Auth/routes.php');
              require_once base_path('routes/Api/V1/Users/routes.php');
          });

爱讯:

import Vue, { PluginObject } from 'vue';
import axios from 'axios';

const config = {};

const _axios = axios.create(config);

_axios.defaults.withCredentials = true;
_axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

_axios.interceptors.request.use(
  cfg => {
    return cfg;
  },
  err => {
    return Promise.reject(err);
  },
);

/**
 * Add a response interceptor
 */
_axios.interceptors.response.use(
  res => {
    return res;
  },
  err => {
    return Promise.reject(err);
  },
);

const Plugin: PluginObject<any> = {
  install: Vue => {
    Vue.$axios = _axios;
  },
};
Plugin.install = Vue => {
  Vue.$axios = _axios;
  window.axios = _axios;
  Object.defineProperties(Vue.prototype, {
    $axios: {
      get() {
        return _axios;
      },
    },
  });
};

Vue.use(Plugin);

export default Plugin;

在此处输入图像描述

我正在登录。但任何请求通过auth:sanctum:

{message: "Unauthenticated."}

可能是什么问题呢?

laravel
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-02-05 17:13:40 +0000 UTC

如何正确创建字符串的 emun 并检查其中是否出现?

  • 0

随着API我得到状态的名称。从他们那里,在工厂的帮助下,我在前面形成了状态实例。附带API一根绳子。为了使代码中没有错误并且可以输入,我创建了enum状态名称:

export enum STATUSES_NAMES {
  CREATED = 'Создано',
  DELETED = 'Удалено',

  // Очень много имён статусов
}

工厂实例化状态:

// Импорты

export default class FactoryStatuses {
  public static createByName(name: STATUSES_NAMES): IStatus {
    const parameters = {
      name,
    };

    return FactoryStatuses._create(parameters);
  }

  public static createFromDB(parameters: IConstructorParameters): IStatus {
    const _parameters = {
      name: parameters.name,
    };

    return FactoryStatuses._create(_parameters);
  }

  private static _create(parameters: IConstructorParameters): IStatus {
    if (!FactoryStatuses._existsName(parameters.name)) {
      throw new Error('Status name dose not exist');
    }

    return new Status(parameters);
  }

  private static _existsName(name: string): boolean {
    return Object.values(STATUSES_NAMES).includes(name);
  }
}

接口:

export interface IStatus {
  name: STATUSES_NAMES;
}

export interface IConstructorParameters {
  name: string;
}

我在方法中existsName收到类型错误:

TS2345:“字符串”类型的参数不可分配给“状态名称”类型的参数。

如何解决这个问题或正确创建它enum?

typescript
  • 2 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-01-29 21:55:14 +0000 UTC

使用 Postgresql 数据库删除 Laravel 中的表?

  • 1

表sites:

id|name             |
--|-----------------|
 1|https://test.ru/ |
 2|https://loop.com/|

表counterparties:

id|client_id|
 1|    1    |
 2|    1    |

Pivot-таблица сounterparty_sites:

id|counterparty_id|site_id|
--|---------------|-------|
 1|      1        |   1   |

迁移pivot-таблицы:

<?php

  use Illuminate\Database\Migrations\Migration;
  use Illuminate\Database\Schema\Blueprint;
  use Illuminate\Support\Facades\Schema;

  class CreateCounterpartySite extends Migration
  {
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
      Schema::create('counterparty_site', function(Blueprint $table) {
        $table->id();
        $table->foreignId('counterparty_id')->constrained()->onDelete('cascade');
        $table->foreignId('site_id')->constrained()->onDelete('cascade');
      });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
      Schema::dropIfExists('counterparty_sites');
    }
  }

尝试删除有或没有数据的表时,会导致错误:

SQLSTATE[2BP01]:从属对象仍然存在:7 错误:无法删除表站点,因为其他对象依赖于它详细信息:表上的约束对应方站点_站点_id_foreign 取决于表站点提示:使用 DROP ... CASCADE 也删除依赖对象。(SQL:如果存在“站点”,则删除表)

我知道级联不起作用,因为它不是删除记录,而是删除表(sites)。有没有办法解决这个问题,让 kakskad 工作?

laravel
  • 2 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2022-01-29 15:07:35 +0000 UTC

Laravel 应用程序是从哪里启动的?

  • 0

如何确定Laravel应用程序是从控制台还是通过浏览器启动的?

laravel
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2021-12-24 17:43:08 +0000 UTC

如何自动加载 Vuex 模块

  • 0

我在我的项目中使用Vue + Vuex。积累了很多vuex-модулей。现在它们都像这样连接:

import { module_1 } from 'Store/modules/module_1';
import { module_2 } from 'Store/modules/module_2';
...
import { module_n } from 'Store/modules/module_n';

命名模块和目录snake_case。

如何简化此操作或使此下载自动进行?

javascript
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2021-12-17 20:38:26 +0000 UTC

声明 [] | 时出现属性输入错误 字符串[] 或 [] | Vuex 中的数组<string>

  • 0

我声明了一个接口:

export interface ApplicationState extends RootState {
  messages: [] | string[];
}

我是说我的属性应该是一个空数组或字符串数​​组。但是在突变中我得到一个错误:

[MutationTypes.APPEND_MESSAGES](state: ApplicationState, payload: string): void {
  state.messages.push(payload);
},

TS2345:“字符串”类型的参数不可分配给“从不”类型的参数。

但如果我在打扫[] |,那么一切都好。我做错了什么或我不明白什么?

环境:

打字稿:3.9.7

typescript
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2021-12-09 20:29:10 +0000 UTC

Jest 看不到通过别名(别名)连接的模块、常量

  • 0

该项目使用vue cli. 在测试文件中,我使用别名包含模块。vue.config.js我在和中注册了别名tsconfig.json。它们在项目中的任何地方工作,除了带有测试的文件。可能是什么问题呢?

vue.js
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2021-12-06 02:38:14 +0000 UTC

如何在 PostgreSQL 中的特定或所有表上按 ID 指定默认排序

  • 0

例如,有一张桌子Users。我需要确保任何包含 ID 列的选择都按它排序。或者我不能避免在每个请求中我必须指定排序顺序的事实吗?

postgresql
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2021-12-02 19:44:03 +0000 UTC

恢复 phpstorm 工具栏中的 git 分支显示

  • 0

不小心隐藏了当前工作分支的显示git。分支显示设置在哪里git?

phpstorm
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2021-11-30 19:25:36 +0000 UTC

disable-resize-watcher 不能在没有 v-model 的小屏幕上工作

  • 0

对于显示/隐藏控件v-navigation-drawer,我不使用双向通信(v-model),因为我需要覆盖该属性。我将状态存储v-navigation-drawer在Vuex中。

标记:

<template>
  <v-app id="inspire">
    <v-navigation-drawer
      app
      :value="v_navigation_drawer"
    />

    <v-app-bar
      :value="v_app_bar"
      app
    >
      <v-app-bar-nav-icon
        @click="toggleVNavigationDrawer"
      />
    </v-app-bar>

    <v-main>
      <router-view />
    </v-main>
  </v-app>
</template>

问题:在小屏幕上,如果单击覆盖,它将v-navigation-drawer隐藏,但属性值v_navigation_drawer不会改变。我怎样才能使财产的价值也v_navigation_drawer发生变化?

Vuetify版本2.2.11

vuetify
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2021-11-28 18:39:40 +0000 UTC

别名在 vue cli 中不起作用

  • 1

我添加这样的别名:

configureWebpack: {
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'),
      'Components': path.resolve(__dirname, './src/сomponents'),
      'API': path.resolve(__dirname, './src/api'),
      'Mixins': path.resolve(__dirname, './src/mixins'),
    },
  },
},

但是我在构建时遇到错误。

未找到此依赖项:

./node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/thread-loader/dist/cjs.js!./中的 Mixins/application/ApplicationMixin node_modules/babel-loader/lib!./node_modules/ts-loader??ref--14-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/ vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=ts&

要安装它,你可以运行: npm install --save Mixins/application/ApplicationMixin

此外, IDE看不到 alias 。如何解决问题?

typescript
  • 1 个回答
  • 10 Views
Martin Hope
doox911
Asked: 2021-11-20 19:11:50 +0000 UTC

PhpStorm 看不到数据中的属性 [关闭]

  • 0
关闭。这个问题需要澄清或补充细节。目前不接受回复。

想改进这个问题?通过编辑此帖子添加更多详细信息并澄清问题。

1 年前关闭。

改进问题

在此处输入图像描述

如何教看变量?

vue.js
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5