2014-10-07 67 views
1

我把核心的页面元素内的另一个核心的页面元素,但内部核心的页面元素始终保持可见。把一个核心网页内的另一个核心的页面,使内部核心的页面始终可见

这里的HTML代码:

<link rel="import" href="packages/polymer/polymer.html"> 
<link rel="import" href="packages/core_elements/core_pages.html"> 

<polymer-element name="pages-test"> 
    <template> 

     <button on-click={{increasePages}}>pages</button> 
     <button on-click={{increaseSubPages}}>sub-pages</button> 

     <core-pages selected={{selectedPages}}> 
      <div>PAGE 1</div> 
      <div>PAGE 2</div> 
      <div>PAGE 3 
      <core-pages selected={{selectedSubPages}}> 
       <div>SUB PAGE 1</div> 
       <div>SUB PAGE 2</div> 
       <div>SUB PAGE 3</div> 
      </core-pages> 
      </div> 
     </core-pages> 
    </template> 
    <script type="application/dart" src="pages_test.dart"></script> 
</polymer-element> 

而且飞镖代码:

import 'package:polymer/polymer.dart'; 

@CustomTag('pages-test') 
class PagesTest extends PolymerElement { 

    @observable 
    int selectedPages = 0; 

    @observable 
    int selectedSubPages = 0; 

    PagesTest.created() : super.created() { 
    } 

    void increasePages() { 
    selectedPages = (selectedPages + 1)%3; 
    } 

    void increaseSubPages() { 
    selectedSubPages = (selectedSubPages + 1)%3; 
    } 

} 

PAGE 1可见也是SUB PAGE 1是可见的。

我用正确的方式为核心的页面?有什么解决方法?

回答

1

据我了解,这是因为能见度使用CSS取决于core-selected课件的应用。 CSS选择器似乎也包括孩子。

这个CSS固定它

core-pages > :not(.core-selected) > core-pages > .core-selected { 
    visibility: hidden; 
    } 

在代码中的解决方法是设置selectedSubPages-1selectedPages!= 2

代码看起来像

@observable 
    int selectedPages = 0; 

    int _selectedSubPages = 0; 
    @ComputedProperty('selectedPages') 
    int get selectedSubPages { 
    if (selectedPages != 2) { 
     return -1; 
    } else { 
     return _selectedSubPages; 
    } 
    } 
    set selectedSubPages(int value) => _selectedSubPages = value; 


    void increasePages() { 
    selectedPages = (selectedPages + 1)%3; 
    } 

    void increaseSubPages() { 
    selectedSubPages = notifyPropertyChange(#selectedSubPages, selectedSubPages, (selectedSubPages + 1)%3); 
    } 

你也可以尝试使用CSS修复它,使页面仅可见如果父母也是积极的(可能是一个更好的解决方案)。

+0

对不起,这是'核心选择'类而不是'active'属性。我改变了我的答案。我还添加了一个如何在代码中解决问题的示例。 – 2014-10-07 07:44:51

+0

我还添加了一个CSS解决方案 - 非常简单:-) – 2014-10-07 07:48:53

+0

您认为我们应该打开一个问题吗? – Fedy2 2014-10-07 08:10:18

0

我有同样的问题。当我将核心页面放入核心脚手架的主要内容区域时,它神秘地消失了(嵌套的核心页面在未选中时被隐藏)。