重复使用指令与页面之间的状态

时间:2015-03-10 10:07:28

标签: angularjs

我的AngularJS应用程序中有几页(使用$ routeProvider)。我创建了一个指令(包含一些允许在它们和输入上设置回调的按钮),这些指针应该可以在这些页面之间重复使用,但是当从一个页面跳到另一个页面时,该指令使用服务来保持其状态。

现在的问题是,如果您在第一页上更改指令的状态,则其他状态将是相同的,因为它们都使用相同的服务。如何解耦这个?

我唯一想到的是这些指令应该有自己的ID,如下所示:

<my-directive id="dirOnPageX"></my-directive>

所以我可以根据id存储服务中的状态,但是这需要我将id属性添加到我放入HTML的每个指令中。有没有更好的解决方案?

也许来自给定指令的一些独特的东西转换为一些哈希,然后它将被用作id?但是,在指令中,什么可能是独一无二的并且有决心?

1 个答案:

答案 0 :(得分:-1)

我认为您应该将指令状态存储在作用域而不是服务中,并使用该服务仅执行操作

它将允许您单独测试指令

希望这有助于:)