【问题标题】:ng-show not updating the viewng-show 不更新视图
【发布时间】:2015-06-24 11:07:51
【问题描述】:

ng-show="my.message" 在 http 成功时设置为 true,但不会更新视图。

这是我的代码:

控制器 Js:

  lgControllers.controller('FormCtrl', function($scope, $http) {

                $scope.my = {
                    message: false
                };
                $scope.submitForm = function() {                       

                    $http({
                        url: "../saket/ajax.php",
                        data: "email_id=" + $scope.form.emailaddress + "&category_id=" + cat_num + "&action=subscribe",
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
                        }
                    }).success(function(data) {

                            $scope.my = {
                                message: true
                            };

                        console.log(data); // http is success
                        console.log($scope.my.message); // gives true

                    }).error(function(err) {
                        "ERR", console.log(err)
                    })
                };

            });

索引.html:

    <div ng-controller="FormCtrl">
        <div ng-show="my.message">It worked!</div>
    </div>

my.message 在控制台中显示为 true,但 div 仍然隐藏在视图中。

我不知道问题出在哪里。

【问题讨论】:

  • 它应该可以工作,你能在 Fiddle 中重现吗?模板:jsfiddle.net/65yyf23x
  • 尝试在回调结束时添加对 $scope.$apply() 的调用
  • @K K:它给出了这个错误错误:[$rootScope:inprog]
  • 尝试将日志添加到您的 html:&lt;pre&gt;{{my|json}}&lt;/pre&gt; 并检查发生了什么
  • @Maxim 它在启动时显示为 false,即使在控制台中登录 true 后也保持为 false。我想在使用范围和 rootScope 时存在一些问题。你有什么建议?

标签: angularjs ng-show angularjs-ng-show


【解决方案1】:

会不会是你覆盖了 message 属性,而 angularjs 失去了引用?

$scope.my = {
    message: true
;

尝试一下:

$scope.my.message = true;

【讨论】:

  • @essdil 这不是问题。仅使用 $scope.message 进行了尝试
  • 是的,你是对的。它应该可以使用它...我创建了一个可以正常工作的小提琴...也许它有帮助:jsfiddle.net/cfdb6gxq
猜你喜欢
  • 1970-01-01
  • 2015-03-29
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多