8

(1)トランスクルージョン ディレクティブが呼び出さportletれ、そのコンテンツを受け取り、ボイラープレート コードでラップします。例えば:

<portlet>
  <div class="foobar">My content</div>
</portlet>

のテンプレートを通過しますportlet。これは次のとおりです。

<div class="portlet">
  <div class="icon"></div>
  <div class="content" ng-transclude="">          
  </div>
</div>

そして次のようになります。

<div class="portlet">
  <div class="icon"></div>
  <div class="content">
      <div class="foobar">My content</div> <!--the original content
                                         passed to portlet-->
  </div>

(2)さらに 2 つのディレクティブがdyn-formありdyn-form-fieldます。次のように説明します。

<dyn-form>
   <dyn-form-field type="textbox" placeholder="..." label="Name" />
   <! ...and so on... -->
</dyn>

dyn-formのテンプレート:

<form class="..." ng-transclude="">
</form>

dyn-fieldのテンプレートは、そのラベル/フィールドを生成するための html を生成します。したがって、元のコードは次のように変換されます。

<form class="...">
  <label>Name: <input type="text" placeholder="..." /></label>
  <!- ....and so on... -->
 </form>

(3)ここに問題があります。dyn-form-portletすべてのフォームの上に表示されるいくつかのボタンを表示するための定型コードを生成するために、3 番目のディレクティブを使用してから、ポートレットを表示し、ポートレットdyn-form内に配置します。これは私がこれをやろうとしている方法です:

<dyn-form-portlet>
   <dyn-form>
     <dyn-form-field />
   </dyn-form>
</dyn-form-portlet>

dyn-form-portletのテンプレートは次のようになります。

<div class="dyn-form-portlet">
  <button>Foo</button>
  <button>Bar</button>
  <portlet ng-transclude="">
  </portlet>
</div>      

理論的には、これは機能するはずです。つまり、 inside 、s insideなど<dyn-form>に配置する必要があります。しかし、これを実行すると、によって表示されるボタンと のコードのみが表示されますが、空であり、フォームは表示されません。<portlet><dyn-form-field><dyn-form>dyn-form-portletportletportlet

私は何か間違ったことをしていますか、それともこれはバグですか?

4

1 に答える 1