Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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 如何从angular内部提升和激活angular外部代码可以看到的事件?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何从angular内部提升和激活angular外部代码可以看到的事件?

Javascript 如何从angular内部提升和激活angular外部代码可以看到的事件?,javascript,angularjs,Javascript,Angularjs,很抱歉,如果这个问题没有涉及到代码细节,但我真的只是在这里寻找一种模式 我有一个网页,它有一个内置在angularjs中的组件,称之为a,还有一个使用普通的本地JavaScript构建的组件,称之为B。用户可以使用a和B进行交互,这一切都很好。问题是,还有第三个组件C是用本机JavaScript编写的,负责为用户保存整个页面的状态,即a和B的组合状态集。因此,要实现这一计算值,而不仅仅是我可以编写jQuery的HTML元素值,必须从a中出来并找到到C的方法 处理B很容易,因为我可以使用回调或事件

很抱歉,如果这个问题没有涉及到代码细节,但我真的只是在这里寻找一种模式

我有一个网页,它有一个内置在angularjs中的组件,称之为a,还有一个使用普通的本地JavaScript构建的组件,称之为B。用户可以使用a和B进行交互,这一切都很好。问题是,还有第三个组件C是用本机JavaScript编写的,负责为用户保存整个页面的状态,即a和B的组合状态集。因此,要实现这一计算值,而不仅仅是我可以编写jQuery的HTML元素值,必须从a中出来并找到到C的方法

处理B很容易,因为我可以使用回调或事件或其他任何方式让B将其数据传递给C。然而,我一直在努力对a做类似的事情。我尝试将C注入a,但C看不到B。我还尝试创建一个自定义事件,a可以使用$rootScope向“外部世界”发送。$emit()但这也不起作用,这太糟糕了,因为我更喜欢基于事件的方法


对我来说,这似乎不是一个特别的场景,所以我很惊讶,我没有发现任何关于模式的讨论。我发现的每件事似乎都在谈论如何把东西放进去,而不是放出来。我是不是想错了

我不知道你到底在找什么。如果C是纯JS,则使用Angularjs实例化C,并将数据从A传递到包装器或C可以拾取并传递给C的服务。我认为将纯JS封装在angular控制器/服务中更有意义。如果必须基于事件,请查找发布/订阅库。有很多。不幸的是,如果加上很多角度的手表,成本会很高