2016-09-18 4 views
1

Ich muss eckig in meine schlanke Datei integrieren, ich bin mir nicht sicher, wie zu transformieren, wenn sonst in eckig blockieren. Ich weiß Winkel haben nicht, ob sonst Aussagen ng aber ist es eine Möglichkeit, Code unten zu Winkelwenn sonst, wenn sonst in Winkel js

- if @cart['empty'] 
    cart is empty 
- elsif @cart['invalid'] 
    can't proceed 
- else 
    [email protected]['Items'].each do |item| 
     #{item['description']} 

Ich mag dieses

ng-if="cart.empty" 
    cart is empty 

    ng-else-if cart.invalid 
    can't proceed 

    ng-else 
    ng-repeat="cart.Items as item" 
      item.description 

Antwort

1

einige etwas erreichen wollen, zu ändern, was Sie suchen ist die ng-switch Richtlinie.

zunächst einige Variable erhalten, die den Schaltzustand enthalten:

$scope.getStatus = function(cart) { 
    if (cart.empty) return 'empty'; 
    if (cart.invalid) return 'invalid'; 
} 

Und dann die Richtlinie verwenden:

<div ng-switch = "getStatus(cart)"> 
    <div ng-switch-when = "empty">Cart is empty</div> 
    <div ng-switch-when = "invalid">Can't proceed</div> 
    <div ng-switch-default>.... ok ....</div> 
</div> 
+0

Diese Idee macht Sinn. Wenn der Rails-Controller jedoch einen Fehler zurückgibt, wie @error, besteht eine Fehlermeldung und keine Cart-Variable. Wie kann ich diese Bedingung (wenn Fehler) in Switch-Block hinzufügen. –

+0

@tumati angenommen, Sie haben den Fehler in Ihrem Bereich, geben Sie den Fehler an die Funktion 'ng-switch = "getStatus (Warenkorb, Fehler)" 'und GetStatus wird' Fehler 'zurückgeben, und das ist eine neue ng-switch' Anweisung. Jetzt, wo Sie über 'ng-switch' Bescheid wissen, können Sie jeden Ansatz entwickeln, wir können nicht alles für Sie tun – floribon