我们创建了一个三窗口向导。它们都是同一页面上的三个 div(或者如果出现更好的解决方案,它们可以分成部分)。我们使用 jquery 的淡入/淡出来转换向导的 div。它们都共享一些在向导期间必须了解的数据对象。第二个窗口只是一个“请稍等片刻”,在转换到第三个窗口之前等待来自 ajax 调用的回调。
我们已经将淡入/淡出加载到指令中并且它可以工作。问题是我们使用“标志”跟踪控制器中 DOM 元素的状态。
$scope.someDomId == '可见' 或 '隐藏'。
该指令监视所述 id 的更改,并在其更改时采取适当的措施。
这行得通,但对我来说似乎很难看。确实,我们已经从控制器中删除了 Dom 操作,但用一个粗略的标记系统代替了它。
这是最佳做法吗?这真的更好吗?是的,它现在可以更容易地进行单元测试,但这是我在这一点上看到的唯一可感知的好处。