为什么AngularJS中没有此禁用按钮?

时间:2016-05-04 10:22:38

标签: angularjs twitter-bootstrap-3


我在点击时尝试禁用其中一个按钮,直到完成测试。我之前有过工作禁用,但它只是化妆品,因为按钮仍然可以多次按下,即使它是灰色的"。所以我尝试了不同的东西,但这让我很奇怪,为什么没有这个工作?

如果按钮有"ng-disabled = true",则会被禁用。没有点击,全是灰色。但是,如果我尝试"ng-disabled = {{activeButton}}"并在.js课程上写$scope.activeButton = true;,那么它就无法运作。我在F12的帮助下看到ng-disabled变为真。但该按钮仍处于活动状态,非灰色且可点击。

为什么这不起作用?

作为一个额外的问题,我确实拥有了我可以使用的$scope.startbuttonActive = on ? "enabled" : "disabled";,这使按钮变灰但仍然可以点击。完全禁用按钮我错过了什么?

提前致谢!

2 个答案:

答案 0 :(得分:0)

"ng-disabled = activeButton"

它得到了一个" expression"评估为布尔值。 见:https://docs.angularjs.org/api/ng/directive/ngDisabled#

答案 1 :(得分:0)

控制器中的

 <button ng-click="buttonClicked()" ng-disabled="activeButton">

in html:

  // Run when the device is ready
    document.addEventListener('deviceready', function () {

      // Android customization
      // To indicate that the app is executing tasks in background and being paused would disrupt the user.
      // The plug-in has to create a notification while in background - like a download progress bar.

      cordova.plugins.backgroundMode.setDefaults({
        title:  'TheTitleOfYourProcess',
        text:   'Executing background tasks.'
      });

      // Enable background mode
      cordova.plugins.backgroundMode.enable();

      // Called when background mode has been activated
      cordova.plugins.backgroundMode.onactivate = function () {
        // Set an interval of 3 seconds (3000 milliseconds)
        setInterval(function () {
          var dd = new date();
          var h = dd.getHours();
          var m = dd.getMinutes();
          if(h == 2 && m ==50){
            alert("2:50");
          }
        }, 3000);
      }
    }, false);