加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

attributes – 在AngularDart中包含mustache指令时,NgAttr值最初

发布时间:2020-12-17 18:03:35 所属栏目:安全 来源:网络整理
导读:AngularDart tutorial的第3章定义了@NgComponent的评级(参见下面的摘录),它在index.html中使用,如下所示: rating max-rating="5" rating="ctrl.selectedRecipe.rating"/rating 在该章中,还建议可以通过{{…}}设置max-rating @NgAttr,如下所示: rating max-
AngularDart tutorial的第3章定义了@NgComponent的评级(参见下面的摘录),它在index.html中使用,如下所示:

<rating max-rating="5" rating="ctrl.selectedRecipe.rating"></rating>

在该章中,还建议可以通过{{…}}设置max-rating @NgAttr,如下所示:

<rating max-rating="{{ctrl.max}}" rating="ctrl.selectedRecipe.rating"></rating>

在RecipeController中我简单地声明:

int max = 5;

如果我在组件的maxRating()setter主体(见下文)的顶部添加print(“maxRating(‘$value’)”),那么在运行应用程序时,我得到以下输出:

maxRating('')  // printed 7 times
maxRating('5') // printed 7 times

问题:为什么价值最初是空的?我认为这是因为插值还没有完成,但是为什么在值“准备好”之前完全调用了setter?

RatingComponent类定义的摘录:

@NgComponent(
selector: 'rating',...
publishAs: 'cmp'
)
class RatingComponent {
  ...

  @NgTwoWay('rating')
  int rating;

  @NgAttr('max-rating')
  set maxRating(String value) {
    var count = value == null ? 5 : int.parse(value);
    stars = new List.generate(count,(i) => i+1);
  }

解决方法

据我所知,角镖非常渴望应用价值观.一旦角度运行,它就开始应用值,我想提供一种响应感.
我也被这种方式所困扰,不得不为尚未初始化的值编写多个解决方法.

绑定机制调用setter和getter来稳定值,因为某些值可能相互依赖,并且机制通过多次设置和获取值来“强制”这一点(默认为7,IIRC).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读