Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs应用程序指令之间通信的模型与事件_Javascript_Angularjs_Angularjs Directive_Communication - Fatal编程技术网

Javascript angularjs应用程序指令之间通信的模型与事件

Javascript angularjs应用程序指令之间通信的模型与事件,javascript,angularjs,angularjs-directive,communication,Javascript,Angularjs,Angularjs Directive,Communication,我有一个angularjs应用程序,有一个ctrl和几个指令。 为了使指令可重用,不遵守ctrl隔离范围和映射 在这种情况下,允许指令之间通信的最佳解决方案是什么? 使用事件的优点/缺点? 只使用模型和手表的优点/缺点?这取决于您试图实现的目标。您希望指令相互通信吗?你们的指令之间是否有共同的利益?你想用哪种方式交流?所有这些情况都有自己的解决方法。指令可以包含视图输入和服务,以允许某人连接到系统。另一个指令可以包含视图和服务以显示购物车客户。因此,在第一条指令确认连接之前,第二条指令无法显示任

我有一个angularjs应用程序,有一个ctrl和几个指令。 为了使指令可重用,不遵守ctrl隔离范围和映射

在这种情况下,允许指令之间通信的最佳解决方案是什么? 使用事件的优点/缺点?
只使用模型和手表的优点/缺点?

这取决于您试图实现的目标。您希望指令相互通信吗?你们的指令之间是否有共同的利益?你想用哪种方式交流?所有这些情况都有自己的解决方法。指令可以包含视图输入和服务,以允许某人连接到系统。另一个指令可以包含视图和服务以显示购物车客户。因此,在第一条指令确认连接之前,第二条指令无法显示任何客户的数据。这一战略是否相关?如果是,允许它们之间通信的最佳解决方案是什么?根据我的经验,指令很适合重用标记/UI组件。对于UI以外的重用,请使用服务/工厂。通常,连接应由两个指令共享的服务管理。通过这种方式,您不必等待是否编译了指令。。。是否加载了DOM。其他建议:保持简单:默认情况下不要执行指令,使用控制器,当确实需要可重用时,创建指令……因此,您希望有一个依赖于其他指令状态的指令。我不太确定这是个好主意,但我需要看一些代码来确定。我不久前写了一篇文章,可能适用于你的情况,下面是链接:这有帮助吗?@asicfr,这个问题还有待解决吗?