2014-10-07 66 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

我有同樣的問題。當我將核心頁面放入核心腳手架的主要內容區域時,它神祕地消失了(嵌套的核心頁面在未選中時被隱藏)。