首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有选定属性的嵌套铁页

具有选定属性的嵌套铁页
EN

Stack Overflow用户
提问于 2017-05-09 11:36:36
回答 1查看 426关注 0票数 0

我使用的是iron-page元素,但采用的是嵌套方式。示例:

在文件0-0.html中:

代码语言:javascript
复制
<iron-page>
  <1-0></1-0>
  <2-0></2-0>
</iron-page>

在文件1-0.html中:

代码语言:javascript
复制
<iron-page>
  <1-1></1-1>
  <1-2></1-2>
  <1-3></1-3>
</iron-page>

在文件2-0.html中:

代码语言:javascript
复制
<iron-page>
  <2-1></2-1>
  <2-2></2-2>
  <2-3></2-3>
</iron-page>

我需要知道何时显示从<1-1><2-3> (让我们称它们为子元素)的元素之一。为此,我使用了selectedAttribute属性,但问题是:

为什么当一个母亲iron-page元素被禁用时,他保留了一个被选中的项目?最后,我要做的是在显示或隐藏iron-page子元素时得到通知。有人能帮我吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-05-09 12:31:52

关于传播的一切都可以通过绑定来完成。所以就像

代码语言:javascript
复制
<iron-pages>
  <1-0 selected="{{selectedOne}}"></1-0>
  <2-0 selected="{{selectedTwo}}"></2-0>
</iron-pages>

在您定义属性的子元素中:selected。并将其设置为notify: true。通知意味着,每当此属性发生更改时,绑定到此值的父元素属性将自动更新。

属性:{ selected:{ value: null,notify: true }

在子元素中,iron-pages必须绑定到selected属性。比如:

代码语言:javascript
复制
<iron-pages selected="{{selected}}">

仅此而已。每当选定的属性更改(在子元素中)时,父元素将自动重新加载他的selectedOneselectedTwo属性。

您还可以向selectedOneselectedTwo属性添加观察者,这些属性将调用某些函数,以便准确地知道何时执行某些逻辑操作。

所以在母元素中:

代码语言:javascript
复制
properties: {
  selectedOne: {
    value: null,
    observer: "_selectedOneChanged"
  },
  selectedTwo: {
    value: null,
    observer: "_selectedTwoChanged"
  }
}

另一个解决方案

上面的解决方案是好的,但是在更多的嵌套元素中,它几乎不可能工作,而且非常混乱。所以另一种方法是事件侦听器。聚合物有火的方法,这是很好的了解。更多信息,你可以在文档找到。

简要说明:

在子元素中,您所做的事情如下

代码语言:javascript
复制
this.fire("iron-pages-changed", {page: this.selected});

和母要素:

代码语言:javascript
复制
ready: function() {
  this.addEventListener("iron-pages-changed", function() {
    ... some logic ...
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43868768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档