(1)我有一个名为 transcluding 的指令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)我还有两个指令,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
生成样板代码以显示每个表单上方显示的一些按钮,然后显示一个 portlet,并将其放入dyn-form
portlet 内部。这就是我尝试这样做的方式:
<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>
从理论上讲,这应该有效,即<dyn-form>
应该放在里面<portlet>
,<dyn-form-field>
里面<dyn-form>
,等等。但是当我运行它时,我只看到显示的按钮dyn-form-portlet
和代码portlet
,但是portlet
是空的,并且表单没有显示在其中。
我做错了什么,还是这是一个错误?