小编dan*_*ner的帖子

为什么 @change 或 @input 可以与自定义 v-model 组件一起使用?

假设我创建了一个自定义组件Comp.vue,它基本上是一个带有model-valueprop 和 的包装输入元素@update="$emit('update:modelValue', $event.target.value)

它可能看起来像这样:

<template>
  <div>
  <label :for="name" class="block relative">
    <div>
        {{ label }}
    </div>
        <input
          :name="name"
          :type="type"
          :value="modelValue"
          @input="$emit('update:modelValue', $event.target.value)"
        />
  </label>
    </div>
</template>

<script>

export default {
  props: {
    label: {
      required: true,
      type: String,
    },
    modelValue: {
      required: false,
      default: "",
      type: [String, Number],
    },
    type: {
      default: "text",
      type: String,
    },
    name: {
      required: false,
      type: String,
      default: "",
    },
  },
  emits: ["update:modelValue"],
};
</script>
Run Code Online (Sandbox Code Playgroud)

现在我已将该组件导入到 App.vue 中。

为什么这有效: …

javascript vue.js v-model vuejs3

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

Angular &amp; Eslint - this.router.navigate(['/']) 没有浮动承诺错误

我有以下 eslint 错误:

必须正确处理 Promise 或使用voidoperator.eslint@typescript-eslint/no-floating-promises明确标记为忽略

使用此代码:

this.router.navigate(['/']);
Run Code Online (Sandbox Code Playgroud)

路由器是这样导入的:import { Router } from '@angular/router';并在类的构造函数中分配。

我的 eslint 配置:

module.exports = {
  extends: [
    "plugin:@angular-eslint/recommended",
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:@typescript-eslint/recommended-requiring-type-checking",
    // "plugin:@angular-eslint/template/process-inline-templates",
    'prettier',
  ],
  parser: '@typescript-eslint/parser',
  parserOptions: {
    project: './tsconfig.eslint.json',
    sourceType: 'module',
    ecmaVersion: 2020,
  },
  plugins: ['@typescript-eslint', '@angular-eslint', 'prettier'],
  rules: {
    "prettier/prettier": [
      "error",
      {
        "printWidth": 140,
        "singleQuote": true,
        "useTabs": false,
        "tabWidth": 2,
        "semi": true,
        "bracketSpacing": true,
        "endOfLine": "lf"
      },
    ],
  },
};
Run Code Online (Sandbox Code Playgroud)

是我的配置有问题还是有什么问题?我觉得 router.navigate 不应该是角度项目中的 eslint 错误。

typescript eslint angular eslintrc

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

标签 统计

angular ×1

eslint ×1

eslintrc ×1

javascript ×1

typescript ×1

v-model ×1

vue.js ×1

vuejs3 ×1