Проблема с привязкой в ​​AngularJS

Я пытаюсь выполнить привязку из http-запроса на получение. HTTP get возвращает true или false. Я проверил get, и он возвращается правильно. Когда я запускаю приведенный ниже код, он также правильно отображает предупреждение (1111). Однако, когда я пытаюсь изменить текст кнопки, ничего не появляется! Я пробовал все, что я знаю, чтобы сделать. Любые советы будут полезны.

Post.js

myApp.controller('FollowController', ['$scope', '$http', function($scope, $http) {

    var status = "";

        $http.get('/Home/CheckFollower?idToFollow=' + profileId + '&followerId=' + currentUserId).
            success(function(data) {
                //check if it is a follower

                if (data) {
                    // Not following - Show unfollow
                    alert("1111");
                    $scope.statusMessage = data;


                } else {
                    //Following - show Follow

                    $scope.statusMessage = data;
                }

            })
            .error(function(data, status) {
                console.log(data);
            });

}]);

HTML

   <span style="float: right" ng-controller="FollowController as follow">
                        <button type=" button" class="btn btn-success" onclick="location.href='@Url.Action("Follow", "Home", new { idToFollow = ViewBag.ProfileId, followerId = User.Identity.GetUserId() })'">
                            {{ follow.statusMessage }}</button>

                        </span>



Ответы (1)


Вы должны привязать переменные к this вместо $scope, так как вы используете controllerAs подход

Контроллер

myApp.controller('FollowController', ['$scope', '$http',
    function($scope, $http) {
        var status = "";
        var follow = this;
        $http.get('/Home/CheckFollower?idToFollow=' + profileId + '&followerId=' + currentUserId).
        success(function(data) {
          //check if it is a follower
          if (data) {
            // Not following - Show unfollow
            alert("1111");
            follow.statusMessage = data;
          } else {
            //Following - show Follow
            follow.statusMessage = data;
          }
        })
        .error(function(data, status) {
          console.log(data);
        });
    }
]);
person Pankaj Parkar    schedule 19.06.2015
comment
А! Спасибо! Работал! - person Rupert; 19.06.2015
comment
@JeremyLewallen Рад помочь вам ..Спасибо :) - person Pankaj Parkar; 19.06.2015
comment
Просто любопытно, до этого решения я пытался создать функцию и использовать возврат. Тем не менее, он продолжал запускать функцию снова и снова. У вас есть идеи, почему это будет сделано? - person Rupert; 19.06.2015
comment
@JeremyLewallen Я не понял тебя в этом вопросе ... о какой функции ты говоришь? - person Pankaj Parkar; 19.06.2015
comment
Я создал функцию под названием checkFollower(). У него была та же логика, что и выше, за исключением использования возврата. КОГДА я вызвал функцию с угловой привязкой {{ checkFollower() }}, она осталась в бесконечном цикле. Просто любопытно, если бы вы знали, почему это произошло - person Rupert; 19.06.2015