我有一个现有的AngularJS路由,其中来自API的数据使用来自PrimaryController
的路由解析(myDependency
)注入到页面控制器(ngRoute
)中。我正在为此页面添加更多功能,我将其封装在具有ng-controller="SubController as subController"
SubController
主要在myDependency
上运作,而PrimaryController
也会对其进行操作。我可以想到三种方法将数据传递给SubController
,我想知道是否有最佳实践。
$scope
上,并在嵌套控制器中以$scope.myDependency
的形式访问它。我对此犹豫不决,因为我将$scope
属性与HTML中使用的数据或方法相关联,而这个对象则不然。但这似乎也是从父控制器访问数据的最典型方式。我可以使用controller as
语法使SubController
和PrimaryController
之间的依赖关系更加清晰,例如$scope.primary.myDependency
。MyService.myDependency
。我不太喜欢这个,因为这是以这种方式使用这项服务的唯一场景/路线,而且看起来有点矫枉过正。$route.current.locals.myDependency
访问数据。我喜欢这个,因为它清楚地表明SubController
取决于路线的数据。这个控制器永远不会在这种情况下使用,所以我并不担心这种限制太多了。我知道ui-router
支持在嵌套视图中访问解析数据,但我们正在使用ngRoute
。