跳到主要內容

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 {}