使用OnsenUI/AngularJS切换按钮类型属性

使用OnsenUI/AngularJS切换按钮类型属性,angularjs,onsen-ui,Angularjs,Onsen Ui,我正在尝试用OnsenUI制作一些切换按钮。我只希望切换状态由ons按钮属性button type=“”(正常)或type=“安静”表示 逻辑似乎非常简单,这里有一个plunkr:,html如下: <ons-button type="{{buttonType()}}" ng-click="!bool" > button type {{buttonType()}} </ons-button> 我尝试过和ng类进行切换,但是,同样的问题;该

我正在尝试用OnsenUI制作一些切换按钮。我只希望切换状态由ons按钮属性button type=“”(正常)或type=“安静”表示

逻辑似乎非常简单,这里有一个plunkr:,html如下:

<ons-button 
    type="{{buttonType()}}"
    ng-click="!bool"
    >
    button type {{buttonType()}}
</ons-button>
我尝试过和ng类进行切换,但是,同样的问题;该按钮在最初呈现在页面上时不会更新(显然不会使用任何摘要更新进行更新)

当然,我最初尝试使用复选框,但是我无法逃脱移动设备上300毫秒的点击延迟。(我知道OnsenUI使用Fastclick,但它在Android上似乎什么都不做,在iOS上的复选框仍然很慢,所以我尝试切换按钮,如果它能工作的话,实际上可能更喜欢这种方法。)

我做错什么了吗


感谢阅读。

看起来您实际上并没有更改
$scope.bool
上的
ng单击的值。您应该执行
ng click=“bool=!bool”
。Plunker:

显然,这超出了自定义按钮指令的功能范围


我使用了一个带有2个css类的标准html按钮;类似于topcoat按钮和topcoat按钮——安静,并使用ng类在它们之间切换。

啊,是的,这很愚蠢,这是对我实际代码的简化(实际上改变了范围变量)。谢谢你指出这一点。尽管如此,我注意到在更新scope变量时type=”“没有更新。按钮属性似乎是在加载视图时绑定到页面的,并且在视图的生命周期中是不变的。我应该注意到还有更多的东西。我没有onsen ui的经验,所以我不能说你想要什么是可能的,但最坏的情况下,你可以有两个按钮,并在其中一个或另一个之间切换。谢谢,是的,我也在考虑将按钮样式添加到标准html按钮,其中的属性更具动态性。
app.controller('MyController', function($scope) {

  $scope.bool = false;

  $scope.buttonType = function() {
    if ($scope.bool) {
      return ''; //normal button
    } else {
      return 'quiet';  //quiet button
    }
  }    

});