【问题标题】:AngularJS Getting Setting more than one controllerAngularJS 设置多个控制器
【发布时间】:2013-07-10 14:53:19
【问题描述】:

我是使用 FireBase 作为数据存储的 AngularJS 新手。我已经浏览了他们网站上的示例。现在,我想扩展简单的概念并创建一个更详细的应用程序。

例如,假设我有一个配方控制器。这将包含配方名称和简短描述。但是,我还想要一份成分清单及其数量。

成分将是一个选择元素,其中包含可供选择的可用成分列表。

我的问题是,如何在 CRUD 站点上使用多个控制器?还是我不应该使用多个控制器并以某种方式使用配方控制器来处理所有事情?

如果我通过在例如 MSSQL 中创建数据库模式来做到这一点,我将没有问题并且确切地知道该做什么。我认为让我失望的是一切都是客户端的事实。

提前感谢您提供的任何帮助。

【问题讨论】:

    标签: angularjs architecture controllers firebase


    【解决方案1】:

    您可能不希望每个实体都有一个控制器。你是这里的控制器映射到一个范围对象。然后将范围绑定到视图 - 使它们保持同步。

    因此,如果您的视图显示一个食谱(即名称/描述),它可能还有一个子属性成分 ($scope.recipe.ingredients)。

    您的控制器将管理此“配方”对象,并提供修改/检索/管理它的方法。例如,您想将 $scope.reciepe 对象保存到您的 FireBase 存储区 - 您可以将服务注入您的控制器,然后进行 $http 调用以将该对象“放入”您的数据库中。

    控制的简要概念概述

    https://docs.angularjs.org/guide/controller查看更多信息

    【讨论】:

    • 换个说法,通常每个视图都有一个控制器,而不是每个模型一个控制器。如果您想为在同一视图中使用的不同模型模块化特定于模型的功能,您可以考虑为每个模型创建一个服务。这只是一种可能的模式。
    • 另外,您可以利用angularFire 自动将数据注入 Firebase 并跳过 $http REST 命令。
    • 太棒了!谢谢莱昂。这正是我需要的澄清。加藤,是的,我肯定会使用 angularFire。
    猜你喜欢
    • 2015-03-03
    • 2021-09-11
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多