来自工厂的 Angularjs 对象

Angularjs object from factory

本文关键字:Angularjs 对象 工厂      更新时间:2023-09-26

这是我的带有咖啡脚本的Angularjs应用程序:

app.factory "User", ["$http", ($http ) ->
    current: ->
        $http.get("api/users").then (data) ->
            console.log(data.data)
    ]
app.controller "MainCtrl", MainCtrl = ["$scope", "User", ($scope, User) ->
    $scope.user = User.current()
    console.log($scope.user)
]

工厂退货承诺

Promise {$$state: Object, then: function, catch: function, final: function}

我需要从工厂返回一个对象:

对象 {id: 1, 电子邮件: "example@example.com", created_at: "2014-05-27T08:21:02.322+10:00", updated_at: "

2014-11-17T10:11:31.551+10:00", 旅馆: "25"...}

我需要帮助。

尝试在服务中使用更具可读性的类方法:)

app.factory "User", ["$http", ($http ) -> 
    new class User
        constructor: ->
            @current()
        current: ->
            request = $http.get '/api/users'
            request.then (result) =>
                @user = result.data
]

现在,这就是您将如何在控制器中获取数据

User.current().then (user) ->
    $scope.user = user