2016-12-19 3 views
0

ich das verbergen thebutton wollen beginnen, bis ich drückt weitere Tasten, um sie erscheinen zu lassen ... Meine Codes sind wie folgt:ng-show auf ionische Taste

Der Button 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; 
} }); 

Die Taste nach Klick angezeigt werden:

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

Mögen Sie bitte bitte geben Sie mir einige Ratschläge bitte. Vielen Dank für Ihre Zeit.

Link to Plunker

+0

Es gibt keine 'isPrinted()' Funktionsdefinition in diesem. – SaiUnique

Antwort

1

Für Ticketdruck sollten Sie PrintTicket Funktion statt isPrinted nennen, die isSelected Flag dann eingestellt werden.

ng-click="PrintTicket()" 

Sie sollten nicht ng-controller="PrintTicket" zweimal werden definiert, die wieder Reglerfunktion instanziiert wird. Sie sollten beiden divs innerhalb einzelnen Controller PrintTicket

Plunkr Demo


Nach einer Diskussion genannt wickeln haben es scheint, wie Sie ein Datum amongest zwei Controller teilen wollten, so aus diesem Grunde Sie den Austausch von Daten bedienen könnten zwischen zwei Controller. So können Sie Service-Variable in einem Controller festlegen und auf diesen Wert vom Service innerhalb eines anderen Controllers zugreifen.

+0

Vielen Dank für Ihre Antwort! Ich habe bereits eine Änderung daran vorgenommen, aber es funktioniert nicht :( – Sammi

+0

@Sammi können Sie in der Plunkr reproduzieren? –

+0

https://plnr.rc/edit/BgLopWPmvn81Kh72BaX?p=preview Hallo, hier ist der Link Vielen Dank für Ihre Zeit – Sammi

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; 
} 
}); 
+0

Hallo, danke für Ihre Antwort, ich habe Ihren Code implementiert, aber es funktioniert immer noch nicht ... der zweite Knopf ist versteckt, aber es nie erscheint selbst wenn ich die erste Schaltfläche geklickt habe – Sammi

+0

Ich habe mit der Konsole überprüft, scheint, habe ich diese Codezeile ausgeführt ($ scope.showPrintButton = true), aber die Schaltfläche wurde immer noch nicht angezeigt – Sammi

+0

https: // PLNKR. co/edit/kGTI4ATNdxPD2d2UWNAn? p = Vorschau - versuchen Sie diesen Plumpser –