我试图创建一个条件嵌套指令。 目标是使用向导模式或完整表单打印表单。
对于向导,我使用https://github.com/mgonto/angular-wizard
我的html网站:
<wizard on-finish="saveit()">
<div ng-repeat="element in filtered = (lang | langFilter:data.review.form_elements) | orderBy:'element_order'">
<div btwizard></div>
</div>
</wizard>
第一条指令:
app.directive "btwizard", [ "$compile", ($compile) ->
transclude: true
scope: false
replace: false
templateUrl: "/assets/template/review_form.html"
link: (scope,element,attrs,ctrl, transclude) ->
if (scope.data.review.config.wizardmode)
element.find('inner').replaceWith(element.children())
$compile(element.contents())(scope)
return
]
templateUrl是:
<inner>
<div class="row">
someform html
</div>
</inner>
我尝试将<inner>
替换为网址elemenet.children()
的内容,具体取决于wizardmode
值
第二个指令用wizardsteps html替换<inner>
:
app.directive "inner", [ "$compile", ($compile) ->
restrict: "E"
replace: false
scope: false
transclude: true
template: "<wz-step title='Starting'><div ng-transclude></div></wz-step>"
]
我怎样才能做到这一点?
更新:我做了一个plunkr: http://plnkr.co/edit/qOhZuVyi3oUVWBftIxBV?p=preview
谢谢, 帕特里克