【问题标题】:angularjs show doesn't workangularjs显示不起作用
【发布时间】:2015-02-22 10:01:52
【问题描述】:

我有html按钮

<button id="postChanges" ng-show="changes.available" data-ng-click="postChanges()">Save</button>

这个视图的控制器

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

    var changes = {
        available : false
    }

    $scope.postChanges = function () {
        console.log('changes before: ' + changes.available);
        if (changes.available) {
            changes.available = false;
        }
        else {
            changes.available = true;
        }
        console.log('changes after: ' + changes.available);
}
}]);

如果 changes.available 为真,我想让按钮可见,并在它为假但不起作用时隐藏它。我还尝试使用布尔值更改 = true / changes = false,data-ng-show 而不是 ng-show '!'在值之前(ng-show="!changes.available" 或 ng-show="!changes"),但这些解决方案都没有奏效。我正在控制台中记录更改值,似乎没问题,所以我想这是按钮属性的问题,但我不知道为什么:(

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    Changes.available 需要在 $scope ...

    var changes = {
        available : false
    };
    

    ...到...

    $scope.changes = {
        available : false
    };
    

    应该这样做。按钮上的 ng-show 需要能够看到变量。

    【讨论】:

    • 没问题...我们都会在某个时候错过这样的事情。
    【解决方案2】:

    应该是

    $scope.changes =  {
        available : false
    }
    

    否则使用 ng-show 指令是不可见的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      相关资源
      最近更新 更多