我为&#34;逐步创建了一个DSL&#34;移动向导。 <wizard>
包含一个或多个<wz-section>
,其中包含一个或多个<wz-step>
。
每个<wz-step>
都包含一个<wz-input-xyz>
指令,该指令为每个复杂类型(文本,布尔无线电选择,带有复选框的REST源列表视图等)呈现特定输入字段。
<wz-step>
指令有自己的隔离范围,并在向导流到达该步骤时设置$scope.selected = true
。
我不知道如何创建一组<wz-input-xyz>
的{{1}}指令,这些指令可以从父require: [^wzStep]
读取一些范围变量(例如:显示只读文本)或<wz-step>
控件)并在其上触发事件(例如:<input>
,让向导移动到下一步或部分)。
这是主控制器模板:
onFieldFilled()
我准备了一个JsFiddle来测试当前的实现(尝试扩展第一部分,选择文本输入并按回车键,你应该看到向导移动到下一步/部分):http://jsfiddle.net/gcacace/c178g34n/2/
答案 0 :(得分:0)
看起来$scope
事件可以在这里帮助你。我之前自己构建了一个类似的系统,并使用父母的$scope.$broadcast
告诉孩子们关闭,并且从孩子那里$scope.$emit
让父母知道输入是& #34;纳&#34;
您可能还希望在您的指令上使用controllerAs
来向DOM中的父级公开父母的api。