跳到主要内容

invalid_visible_outside_template_annotation

注解 'visibleOutsideTemplate' 只能应用于已使用 'visibleForTemplate' 注解标注的类、枚举或混入的成员。

描述

#

当错误使用 @visibleOutsideTemplate 注解时,分析器会产生此诊断信息。此注解仅用于标注已带有 @visibleForTemplate 注解的类、枚举或混入的成员,以使这些成员不受 @visibleForTemplate 施加的可见性限制。

示例

#

以下代码产生此诊断信息,因为类级别没有 @visibleForTemplate 注解

dart
import 'package:angular_meta/angular_meta.dart';

class C {
  @visibleOutsideTemplate
  int m() {
    return 1;
  }
}

以下代码产生此诊断信息,因为注解位于类声明上,而不是类、枚举或混入的成员上

dart
import 'package:angular_meta/angular_meta.dart';

@visibleOutsideTemplate
class C {}

常见修复方法

#

如果类仅是为了模板能够引用它而可见,则将 @visibleForTemplate 注解添加到该类

dart
import 'package:angular_meta/angular_meta.dart';

@visibleForTemplate
class C {
  @visibleOutsideTemplate
  int m() {
    return 1;
  }
}

如果 @visibleOutsideTemplate 注解位于未带有 @visibleForTemplate 注解的类、枚举或混入的成员之外的任何位置,请移除该注解

dart
class C {}