javascript - AngularJS - 观看 "single use"变量的惯用语?

标签 javascript angularjs

我有一个带有 Controller 的选择输入,当选择一个值时,希望将该值传递给将显示它的指令。 (在本例中,在传单 map 上绘制一个形状)。

问题是我希望该值是“即发即忘” - 因此他们选择形状,选择框立即重置为空,负责绘制的指令接收形状并绘制它。

我最初的想法是建立一个链接两者的服务:因此,当选择形状时,选择 Controller 会更新服务并设置 drawThisShape 变量,该变量在指令 $scope 上引用并被$watch编辑:当它改变时,指令绘制形状。快乐的日子。

不过,仅仅将变量从一个地方发送到另一个地方似乎需要付出很大的努力。尽管不再需要该服务,但该服务仍处于其模型上不断具有“先前”形状的状态。

也许我太挑剔了,但我觉得必须有更好的方法来实现这一目标?

E:为了澄清, Controller 是选择输入的 Controller ,我想要传递给它的指令是传单 map 实例的指令,它们没有以任何方式链接

最佳答案

嗯,我已经使用过你过去描述的技术。实现您需要的另一种方法是从drawShape指令正在监听的选择输入中广播$rootScope(或drawShape指令的任何其他父范围)上的事件。

参见scope event propogationbroadcasting

关于javascript - AngularJS - 观看 "single use"变量的惯用语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117701/

相关文章:

javascript - Webpack Uglify 导致路由停止工作

javascript - 模态不会在 native react 中显示图像

javascript - Angular js - 数据集成在应用程序 Controller 中,无需外部 json 。如何渲染数据

javascript - 不加载特定路径的 JS 文件

javascript - 如何在html中设置$compile代码

javascript - 在 JavaScript 中按属性过滤 JSON 数据

javascript - 如何在渲染 react native 中设置状态

javascript - 解析 XML 时出错,第 1940 行,第 65 列 : The reference to entity "url" must end with the ';' delimiter

javascript - ngSantize 无法与 ng-bind-html 一起正常工作

angularjs - gradle不将args传递给具有扩展使用选项的gulp