0

ich den Code unten habe html in meiner HTML-Seite zu binden,ng-if arbeitet nicht in ng-repeat in, wenn bind-html-kompilieren

<div bind-html-compile="menuButtonView"></div> 

ich den Code unten in meinem Controller habe,

dashboardService.getTemplateMetaData(data.templateCategory) 
    .success(function(data) { 
    console.log(data); 
    $scope.buttonArray = data.btnArray; 
    $scope.firstMenuLabel = data.firstMenuLabel; 
    if (data.firstMenuLabel) { 
     $scope.menuButtonView = '<obl-menu-group label="{{firstMenuLabel}}" icon="fa-pencil-square-o">' + 
     '<div data-ng-repeat="btn in buttonArray" >' + 
     '<div ng-if="btn.menuTitle !=="Site Settings" ">' + 
     '<obl-menu-button label="{{btn.menuTitle}}" icon="fa fa-file-image-o" menu-function="{{btn.menuFunction}}">' + 
     '</obl-menu-button></div>' + 
     '<div ng-if="btn.menuTitle ==="Site Settings"">' + 
     '<obl-menu-group label="{{btn.menuTitle}}" icon="fa-pencil-square-o" class="md-sub-menu">' + 
     '<obl-menu-button label="Contact Us" icon="fa fa-file-image-o" click-title="contactUs"></obl-menu-button>' + 
     '</obl-menu-button></div>' + 
     '</div>' + 
     '<obl-menu-group>'; 
    } 
    }).error(function(err) { 

    }); 
}).error(function(err) { 

}); 

Die ng-wenn innerhalb der ng-Wiederholung funktioniert nicht. Ich kann nichts falsch in diesem Code sehen. Gibt es ein Problem mit den Anführungszeichen?

+0

Warum haben Sie HTML in Ihrem Controller? Kannst du eine Richtlinie dafür machen? – Srijith

+1

verwenden Sie Escape-Double-Zitat, "Site Settings"? –

+0

Ja, es funktioniert nach der Verwendung von Escape-Doppelzitat in "Site Settings" – shamila

Antwort

0

Verwendung Apostroph in ng-wenn

'<div data-ng-repeat="btn in buttonArray" >' + 
    '<div ng-if="btn.menuTitle !=='Site Settings'">'+ 
      //Your code 
    </div>' 
    '<div ng-if="btn.menuTitle ==='Site Settings'">'+ 
     //Your code 
    </div>' 
'</div>'