gpt4 book ai didi

dart - AngularDart 如何创建组件

转载 作者:行者123 更新时间:2023-12-03 04:31:25 26 4
gpt4 key购买 nike

我刚开始从本教程中学习:
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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com