0

ファクトリでオブジェクト プロパティを更新していますが、コントローラーで参照されているプロパティを更新していないようです。

このような工場があるとしましょう...

app.factory('User', function ($http)
{  
 $http.defaults.useXDomain = true;

    var User = {
        Name: "",
        JobTitle: "",
        isloaded: false
    };

User.GetUser = function (ID)
{
       $http(
            {
                url: "webservice uri",
                method: "GET"
            }
        ).success(function(data, status, headers, config)
        {               
            User.isloaded= true;

        }).error(function(data, status, headers, config)
        {

        })      
}
return User;
});

プロパティ「isloaded」は最初に false に設定され、$http 呼び出しが成功のコールバックを通過すると、最終的に false に設定されます。

そして、次のようなコントローラーがあります

controllers.DefaultCtrl = function($scope, User)
{ 
    $scope.showMessage = User.isloaded;
    $scope.getUser = function ()
    {
        User.GetUser("11111");
    }
    $scope.getUser();   
    }

このhtmlに関連付けられている

<h1>{{showMessage.isloaded ? 'success' : 'Loading...'}}</h1>

最終的には「成功」と言ってもらいたいのですが、htmlでテキストが変更されることはありません

4

1 に答える 1