2016-11-04 14 views
0

私は、角度1.5コンポーネントを使用してエキスパンドコラプスのようなものを構築しようとしています。そのアイデアは、これらのうちの1つ以上を連続して持つことができる、またはツリーを作成するためにネストすることができるということです。だから、有効なHTMLは次のようになります。だから、角度1.5再帰的にネストされたコンポーネント

<expand-collapse title="This is my title"> 
    <p>This is my content</p> 
</expand-collapse> 

それとも

<expand-collapse title="Level 1 Title"> 
    <expand-collapse title="Level 2 Title"> 
     <p>This is my content</p> 
    </expand-collapse> 
</expand-collapse> 

、私の質問は、私はそのように角度1.5コンポーネント(ディレクティブではない)でこれを行うことができるかどうかでありますレベル2の展開崩壊はそれが親の膨張崩壊であることを認識することができます。通常、このようなネストコンポーネントは、私が考えるとき、あなたのようなものを持っているでしょう:

component('expandCollapse', { 
    ... 
    require : { 
     parentCtrl : "^expandCollapse" 
    } 
    ... 

しかしA)のネストは、この場合には必要な、そしてB)parentCtrlは現在まで決して終わることのない再帰参照されて終わるされていません$ ctrl。

これはコンポーネントで行うことができますか?それとも何らかの理由で明示的に禁止されていますか?

+0

あなたはtranscludeオプションのディレクティブを探しているかもしれませんか? – Hoyen

+0

さて、具体的には、ディレクティブではなくコンポーネントでやりたいと思っています。私は、transcludeを使用していますが、それは私がそれを望む方法を参照して解決しません。 – LoganBlack

答えて

0

私は2つだけ方法を参照してください

  • は、これは不要なコードにつながる可能性があり、precendentレベルを必要とする各レベルの指令を定義します。
  • 検索機能の角度機能:element.parent().controller('expand-collapse');。この方法は通常推奨されていませんが、私はこれより簡単で清潔なものは見当たりません。
+0

返事をありがとう。 #1は私をすべてのコストで避けたいと思うX層に制限します。 #2はこれまでのところ私自身が思いついたことだが、何かクリーナーがあると思っている。 – LoganBlack

+0

@LoganBlack UIのエルゴノミクスルールは、おそらく5または3層のようなものでは、間違った行為をしていると言います。 – Walfrat

+0

真実ですが、依然として私が課したい限界はありません。 – LoganBlack

関連する問題