假设我创建了一个自定义组件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 中。
为什么这有效: …
我有以下 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 错误。