嵌套控制器,范围和模型的最佳实践?

佩尔·霍恩肖伊·席尔贝克(PerHornshøj-Schierbeck)

我已经看到(并阅读)了很多有关嵌套作用域如何工作的信息,而且我似乎很好地理解了它,并经常使用/滥用它。我的问题不是关于它是如何工作的,而只是关于如何最好地使用它的问题。让我举个例子吧。

<body ng-controller="MainCtrl">
  <div class="container" ng-view>

该视图将加载如下内容:

<div ng-controller="CreateEventCtrl">
...
    <div class="panel-body" ng-include src="'partials/eventinfo.html'">

那部分也将有一个控制器。这对我来说意义非凡。我得到了一个MainCtrl,它了解您的登录信息,首选项等。CreateEventCtrl将知道处理和创建事件等特定部分(手风琴的一部分将需要显示一些特定信息)。

我可能需要从一个父控制器访问东西,这很容易,但是我的问题是;它可以通过许多不同的方式来完成,而我似乎无法弄清楚什么是最好的方式。

到目前为止,我已经尝试了以下实现。

  1. $scope.modelMainCtrl创建一个保存基本信息的控件,然后让所有其他子控制器将它们自己的属性扩展到该模型上。
  2. $scope.modelMainCtrl创建一个,并让子控制器添加这样的额外模型,$scope.model.createEventModel = { ... }或者像这样直接在范围内添加模型$scope.createEventModel = { ... }
  3. $scope.sharedMainCtrl创建一个模型,并让第一级子控制器创建一个模型$scope.model,使其下一个子控件可以扩展,覆盖或添加新的子控件$scope.eventInfoModel,具体取决于当前视图的最佳选择。所有子控制器可以选择延长/覆盖性能$scope.shared,以及

似乎有很多变化,我只是想知道是否有最佳实践我已经尝试过用google搜索它,但最终却发布了大量文章,试图解释“点”,原型继承以及嵌套作用域如何工作。

目前,我要使用nr.3,但我也知道我可能会在某个时候挑战自己的决定,然后再次进行修改。我真的很想简化所有这些额外的工作,并了解其他人在做什么。

更新:我到处都读到我应该使用服务共享数据。但是我不明白。我想共享的数据可能是通过服务获取的,但这是一种单向的“获取/获取”操作。另外,某些数据是用户选择,可以反映/过滤其余数据

佩尔·霍恩肖伊·席尔贝克(PerHornshøj-Schierbeck)

我听了你们的尝试。我最终创建了一些服务来保存我的共享数据,然后让所有需要该信息的控制器进行注入。

虽然我真的不喜欢这种方法,但是我发现它可以清楚地表明哪些控制器将使用数据,哪些控制器将不使用数据。这也有助于消除关注点,因为我可以将所有存储/加载/修改/缓存都放入服务中,而不必担心控制器中会出现这种情况。我在控制器中需要做的就是获取数据或将其放回去。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在模型和控制器中使用CoreLocation的最佳实践

来自分类Dev

春天的最佳实践,以分离控制器和JSP中的视图模型?

来自分类Dev

has_many:通过模型名称,控制器和属性的最佳实践?

来自分类Dev

has_many:通过模型名称,控制器和属性的最佳实践?

来自分类Dev

从工厂功能设置控制器范围变量的最佳实践?

来自分类Dev

laravel使用没有控制器的模型,“最佳实践”?

来自分类Dev

从Laravel中的控制器访问模型的最佳实践

来自分类Dev

从Laravel中的控制器访问模型的最佳实践

来自分类Dev

AngularJS控制器功能最佳实践

来自分类Dev

木偶控制器最佳实践

来自分类Dev

AngularJS 控制器的最佳实践

来自分类Dev

在Codeigniter中命名控制器和模型的最佳方法

来自分类Dev

在控制器之间共享范围变量的最佳实践是什么?

来自分类Dev

在控制器之间共享范围变量的最佳实践是什么?

来自分类Dev

用于多用途模型的Rails控制器的最佳实践

来自分类Dev

添加非标准视图和控制器操作的最佳实践?

来自分类Dev

最佳代码实践iPhone和iPad自定义视图控制器

来自分类Dev

Rails 4范围模型/控制器

来自分类Dev

角度范围,控制器嵌套

来自分类Dev

与嵌套控制器共享模型

来自分类Dev

与嵌套控制器共享模型

来自分类Dev

Angular最佳实践:在工厂还是在控制器中承诺?

来自分类Dev

使$ watch功能远离您的控制器的最佳实践

来自分类Dev

Laravel 4中的控制器“最佳实践”

来自分类Dev

JavaFX作为使用通用基本控制器的最佳实践

来自分类Dev

从 Spring 控制器方法发送 Json 响应的最佳实践

来自分类Dev

在动作控制器 Laravel 中定义响应的最佳实践

来自分类Dev

Ruby on Rails-“胖模型,瘦控制器”实践

来自分类Dev

关于胖模型,瘦控制器实践的问题

Related 相关文章

  1. 1

    在模型和控制器中使用CoreLocation的最佳实践

  2. 2

    春天的最佳实践,以分离控制器和JSP中的视图模型?

  3. 3

    has_many:通过模型名称,控制器和属性的最佳实践?

  4. 4

    has_many:通过模型名称,控制器和属性的最佳实践?

  5. 5

    从工厂功能设置控制器范围变量的最佳实践?

  6. 6

    laravel使用没有控制器的模型,“最佳实践”?

  7. 7

    从Laravel中的控制器访问模型的最佳实践

  8. 8

    从Laravel中的控制器访问模型的最佳实践

  9. 9

    AngularJS控制器功能最佳实践

  10. 10

    木偶控制器最佳实践

  11. 11

    AngularJS 控制器的最佳实践

  12. 12

    在Codeigniter中命名控制器和模型的最佳方法

  13. 13

    在控制器之间共享范围变量的最佳实践是什么?

  14. 14

    在控制器之间共享范围变量的最佳实践是什么?

  15. 15

    用于多用途模型的Rails控制器的最佳实践

  16. 16

    添加非标准视图和控制器操作的最佳实践?

  17. 17

    最佳代码实践iPhone和iPad自定义视图控制器

  18. 18

    Rails 4范围模型/控制器

  19. 19

    角度范围,控制器嵌套

  20. 20

    与嵌套控制器共享模型

  21. 21

    与嵌套控制器共享模型

  22. 22

    Angular最佳实践:在工厂还是在控制器中承诺?

  23. 23

    使$ watch功能远离您的控制器的最佳实践

  24. 24

    Laravel 4中的控制器“最佳实践”

  25. 25

    JavaFX作为使用通用基本控制器的最佳实践

  26. 26

    从 Spring 控制器方法发送 Json 响应的最佳实践

  27. 27

    在动作控制器 Laravel 中定义响应的最佳实践

  28. 28

    Ruby on Rails-“胖模型,瘦控制器”实践

  29. 29

    关于胖模型,瘦控制器实践的问题

热门标签

归档