【问题标题】:angular factory not passing data to controller角度工厂没有将数据传递给控制器
【发布时间】:2013-11-02 12:22:44
【问题描述】:

我有一个简单的工厂,将从 Mongolab 收集的数据传递到一个控制器,但我无法在另一个控制器中获取它。

app.factory('User', function ($mongolabResourceHttp) {
    return $mongolabResourceHttp('users');
});

我也有一个像这样的目标工厂。两者都可以正常工作。

上面的工厂在我的 userCtrl 中工作正常,但我无法将它添加到我的 goalCtrl 中。我有一个要附加到目标的用户指南。基本上:点击指向用户目标的链接,创建目标,userguid 成为已保存目标的一部分。

app.controller('goalCtrl', function ($scope, $location, goals, users) {
    $scope.goals = goals;
    $scope.users = users;

    $scope.new = function () {
        $location.path('/');
    };

    ...

});

任何线索将不胜感激。谢谢。

(我今天早些时候问了一个类似的问题,但我认为它发生了太多问题并且没有得到任何回应。我已经解决了其中一个问题,这个问题是为了进一步缩小范围。所以这不是一个完整的重复。抱歉,如果它打扰了任何人。)

【问题讨论】:

    标签: angularjs mlab


    【解决方案1】:

    您需要使用“用户”的实际服务名称将服务注入控制器:

    app.controller('goalCtrl', function ($scope, $location, goals, User) {
      $scope.users = User;
    

    如果有机会,我还会阅读角度服务和依赖注入。

    【讨论】:

    • 谢谢杰夫。那么为什么从其他工厂和 $scope.goals = 目标注入目标;工作吗?
    • 您是否将您的目标工厂初始化为“目标”或“目标”?
    • 工厂和控制器的设置与上面的示例完全相同。在我尝试将用户包含在goalCtrl 中之前,我一直在使用控制器而没有任何问题。我以为我已经尝试过 Jeff 提到的大写 User,但直到明天我去办公室我才能确定。
    • 好吧,这并没有解决问题。我一定在其他地方有问题。但是我正在检查答案,因为我知道它正在回答我的基本问题,并且与我实际上必须搞砸的事情无关。如果有人有我正在尝试做的教程或示例的链接,我将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 2018-03-07
    • 2015-07-29
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多