在离子按钮上显示ng-show

时间:2016-12-19 04:53:49

标签: angularjs button ionic-framework ng-show

我想在开始时隐藏按钮,直到我按下另一个按钮使它们出现... 我的代码如下:

按钮Controller + javascript:

<div ng-controller="PrintTicket">
              <button class="button button-dark" id="btn-printTicket" ng-click="isPrinted()">Print Ticket</button><br></div>


myIonic.controller('PrintTicket',function($scope){
var init_state = false;
 $scope.isPrinted = init_state;
$scope.PrintTicket = function(){
$scope.isPrinted = !init_state;
return $scope.isPrinted;
} });

点击后显示的按钮:

<div ng-controller="PrintTicket" ng-show="isPrinted">
                <button class="button button-dark" id="ticket1_dark"><b>1234</b></button></div>
请你好好给我一些建议。谢谢你的时间。

Link to Plunker

2 个答案:

答案 0 :(得分:1)

对于打印票证,您应该调用PrintTicket函数而不是isPrinted,然后设置isSelected标记。

ng-click="PrintTicket()"

您不应该定义ng-controller="PrintTicket"两次,这将再次实例化控制器功能。您应该将两个div包含在名为PrintTicket

的单个控制器中

Plunkr Demo

经过讨论后,您似乎想要共享一个数据最长的两个控制器,因此您可以在两个控制器之间共享数据。因此,您可以在一个控制器中设置服务变量,并从另一个控制器内的服务访问该值。

答案 1 :(得分:1)

 <div ng-controller="PrintTicket">
          <button class="button button-dark" id="btn-printTicket"
  ng-click="isPrinted()">Print Ticket</button><br></div>


 <div ng-controller="PrintTicket" ng-show="showPrintButton">
   <button class="button button-dark" id="ticket1_dark"><b>1234</b></button></div>





myIonic.controller('PrintTicket',function(`enter code here`$scope){
var init_state = false;

$scope.showPrintButton = false;
$scope.isPrinted=function(){    //$scope.isPrinted is a function
$scope.showPrintButton = true;
}
});