ファクトリでオブジェクト プロパティを更新していますが、コントローラーで参照されているプロパティを更新していないようです。
このような工場があるとしましょう...
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でテキストが変更されることはありません