嵌套指令之间的AngularJS通信与转换

时间:2014-08-31 22:00:41

标签: angularjs

我为&#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/

1 个答案:

答案 0 :(得分:0)

看起来$scope事件可以在这里帮助你。我之前自己构建了一个类似的系统,并使用父母的$scope.$broadcast告诉孩子们关闭,并且从孩子那里$scope.$emit让父母知道输入是& #34;纳&#34;

Angular $scope docs

您可能还希望在您的指令上使用controllerAs来向DOM中的父级公开父母的api。