【问题标题】:AngularDart: Component attributeAngularDart:组件属性
【发布时间】:2015-08-13 21:29:45
【问题描述】:

我是 Angular 新手,遇到以下问题。

我正在尝试创建一个可以是active 的组件。我目前对其进行了设置,以便检测是否存在名为 active 的属性并相应地设置其内部状态。

<page active page-id="page-1"></page>

当我想删除活动状态时,问题出现了。我应该怎么做?我应该切换到css类吗?或者也许使用指令?

【问题讨论】:

  • 简单地删除属性怎么样?将属性设置为 TRUE/FALSE ?

标签: angularjs dart components angular-dart


【解决方案1】:

这似乎有点“hacky”,但首先你需要以某种方式获取元素并直接访问属性 Map 并删除它,

HTML

<page active page-id="page-1" id="page_one"></page>

飞镖

querySelector('#page_one').attributes.remove("active");

https://api.dartlang.org/apidocs/channels/be/dartdoc-viewer/dart:html.Element#id_attributes

【讨论】:

  • 这不是违背 Angular 的思维方式吗?也许这个框架有一种更精神的方式?如果这是唯一的方法,我想我最好还是使用类。
  • 当然你会把它包装在一个指令中,但最终你仍然会这样做。通过直接调用属性 Map 并将其删除。
  • 我不明白?以这种方式修改元素属性有什么问题。这正是指令的执行方式。
  • 你可以使用active="true"/active="false"并将值绑定到属性active="{{isActive}}"(不记得Angular中是否支持布尔属性。Polymer有active?="{{isActive"}}"根据isActive 的值添加/删除属性。
猜你喜欢
  • 1970-01-01
  • 2014-09-25
  • 2017-12-19
  • 2018-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-18
  • 1970-01-01
相关资源
最近更新 更多