对不起,如果标题不是最准确的。那么我正在尝试做什么以及我背后的原因是什么。我有一个非常大的条目列表,最多 400 个项目,我从 ajax 请求中获取此列表,现在如果第一个项目具有属性running
,我想从列表中提取它(通过使用splice()
)并将其传递给指令,它可以在一个孤立的范围内处理它。为什么?因为正在运行的条目上会有一个计时器,它每秒都会为它的一个属性添加 +1 $timeout
。
现在我希望它被隔离,因为这个Angular.js过滤器和作用域上的函数每秒都在变化) 在运行条目上更改。
现在,当我按保存或其他东西时,我想将正在运行的条目放回条目中,只有running: false
现在。
我有点知道如何从父对象继承对象并在指令上从中创建一个隔离范围 - http://plnkr.co/edit/zq3urVh5t6N12T5ZrViO?p=preview
以这种方式将其传递到那里似乎并不理想,但有人告诉我这很好,并没有真正违反最佳实践。
现在问题/问题来了
- 有没有办法在不将其添加到范围的情况下传递“运行”指令,因为一旦它被复制它就几乎没用了
- 我应该寻找一种在不将其添加到范围的情况下传递它的方法吗?
- 还是我应该在复制后删除它?
- 还是我应该离开它,因为它没关系?
- 如果
ENTRIES
使用 ajax 设置,则无法复制正在运行的,因为它尚未设置 - http://plnkr.co/edit/vH3hKbkTkTvcHqykIXDt?p=preview- 我应该
$watch
在指令里面吗? - 还是我应该使用广播/打开?像这样http://plnkr.co/edit/1oPMyxSVMdiN8tB9l1YJ?p=preview
- 还是我完全做错了?
- 我应该
谢谢!