dart - AngularDart 如何创建组件

标签 dart angular-dart

我刚开始从本教程中学习:
https://github.com/angular/angular.dart.tutorial/wiki/Creating-a-Custom-Component

我只是遇到了一个问题,正在寻求帮助。评级组件没有显示给我,没有调用任何方法(至少没有在任何断点处)。在这里你可以看到代码:
https://www.dropbox.com/s/oizzl9k6nclgoqd/SecondAngularDart.zip

请帮助我一些指导,我该如何调试这样的情况?或者问题是什么?

@NgComponent(
  selector:'rating',
  templateUrl:'rating_component.html',
  cssUrl:'rating_component.css',
  publishAs:'cmp'
)
class RatingComponent {
  static const String _starOnChar = "\u2605";
  static const String _starOffChar = "\u2606";
  static const String _starOnClass = "star-on";
  static const String _starOffClass = "star-off";

  List<int> stars = [];

  @NgTwoWay('rating')
  int rating;

  @NgAttr('max-rating')
  int maxRating(String max) {
    stars = [];
    var count = max == null ? 5 : int.parse(max);
    for(var i=1; i <= count; i++) {
      stars.add(i);
    }
  }

  String starClass(int star) {
    return star > rating ? _starOffClass : _starOnClass;
  }

  String starChar(int star) {
    return star > rating ? _starOffChar : _starOnChar;
  }

  void handleClick(int star) {
    if (star == 1 && rating == 1) {
      rating = 0;
    } else {
      rating = star;
    }
  }
}

最佳答案

你已经用@NgAttr('max-rating') 注释了一个函数。这些数据绑定(bind)注释仅适用于字段或 setter :

@NgAttr('max-rating')
set maxRating(String max) {
  stars = [];
  var count = max == null ? 5 : int.parse(max);
  for(var i=1; i <= count; i++) {
    stars.add(i);
  }
}

此外,在 starClass 和 starChar 中,您可以访问 rating ,可能为空:

String starClass(int star) {
  if (rating != null) {
    return star > rating ? _starOffClass : _starOnClass;
  }
}

关于dart - AngularDart 如何创建组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21506177/

相关文章:

flutter - Flutter-如何在List View Builder中扩展容器以填充整个空间?

dart - 现在 Controller 已弃用,我应该使用什么代替?

dart - 如何在Angular Dart 2中编写自定义模式验证器

flutter - 如何将非恒定值用于可选参数

flutter - Flutter转换不同类型的图像类

css - 将 css 属性保存在迭代的 Dart 模板中

css - 如何在 Chrome 打包应用程序中使用自定义/外部字体图标

dart - 无法将AngularDart构建为JS

dart - 我们可以使用 Flutter 或 Dart 制作 Web 应用程序或网站吗

flutter - 如何在Flutter中使用带标签的窗口小部件?