我一直在读wrox角书。在书中,作者描述了一种在控制器之间共享数据的方法是:
与在Service上公开对象和让angular的两种方式进行数据绑定做所有繁重的工作相反。为什么有人会采用“根范围发布/订阅”方法,而不是在服务上公开对象?
这是一个有趣的问题。
首先,我们应该考虑各个级别的差异:
范围
$rootScope
我们在全局范围内定义变量可扩展性
$rootScope
-我们具有有限的选项来添加其他逻辑以对该值进行操作(我们可以定义另一个全局函数)
封装形式
$rootScope
-$ rootScope中定义的所有对象将在所有模块中可见
模块化
$rootScope
-全局变量不在模块空间中
保养中
$rootScope
-很难找到哪些组件使用了我们的$rootScope
变量。
捆绑
$rootScope
-在多个控制器中的一个变量中设置双向绑定很容易 $rootScope
在我看来,这仅对创建真正的全局变量有用。
本章内容来自openresty讨论组 这里 先看两段代码: -- index.lua local uri_args = ngx.req.get_uri_args() local mo = require('mo') mo.args = uri_args -- mo.lua local showJs = function(callback, data) local cjson = requ
问题内容: 我最近开始使用AngularJS,现在构建应用的方式是这样的: MainController.js SomeController.js Im遇到的问题是范围未在模块之间共享。例如,无法从 MainController 获得变量“ test”。 最佳做法是什么?是否将所有控制器都以1个文件存储在1个模块中? 我如何能有1个页面和2个控制器并在它们之间共享,还是可以将所有内容仅放在一个控制
问题内容: 我想在控制器之间“绑定更改”异步数据。 我知道这可能有点令人困惑,但我希望有可能。 在以下示例中,如果我在输入中编写内容,则效果很好:http : //jsfiddle.net/Victa/9NRS9/ HTML : JS : 但是,假设我从服务器获取数据。我想像前面的示例一样“链接”数据。http://jsfiddle.net/Victa/j3KJj/ 事实是,我想避免使用“ $ b
问题内容: 首先,我想说两件事。首先,很抱歉,如果已经有人问过这个问题,我已经搜索了与此主题相关的类似问题,但找不到解决方案。其次,对于冗长的问题,我们深表歉意,如有任何错误,请通知我,我将确保做出适当的更改:)。 我是Android开发的新手(大约2个月),所以请原谅我的无知。我有关于Android服务的问题。 我的问题如下,我创建了以下3个应用程序: 一个包含小型测试服务( myService
问题内容: 有没有办法在AngularJS中的服务之间共享数据? 用例:来自不同服务的数据聚合 例如,我想要一个service1从REST服务加载一些数据。然后,另一个service2将来自另一个REST API的其他数据添加到service1数据中,以创建数据聚合服务。 我基本上是想根据它们使用的API来分离服务,但是仍然有一个服务来最终保存所有数据。 问题答案: 创建使用延迟库的第三项服务,以
我正在设计一个微服务架构中的评审分析平台。 应用程序如下所示; null null 问题在于,验证服务需要获取site-a的所有评论,应用验证规则并生成错误(如果有的话)。我知道共享数据库模式和实体打破了微服务体系结构。 一个可能的解决方案是 每当验证服务需要对站点进行审查时,它就会请求网关,网关会将请求重定向到审查服务并采取响应。 这种方法的两个可能缺点是 验证服务是否知道网关?是否会带来依赖?