2016-05-04 4 views
0

Ich habe Direktive ich verbinde das Attribut und den Objektnamen im Ausdruck. Ich muss beide Werte in Kleinbuchstaben konvertieren. Ich habe versucht, Filter dafür zu verwenden. Es funktioniert nicht. Selbst wenn ich versucht habe, $ filter service zu verwenden, funktioniert es auch nicht. Bitte helfen Sie jedem, dies zu erreichen.Angular Filter funktioniert nicht innerhalb der Anweisung Ausdruck?

Vielen Dank im Voraus ..

Richtlinie Code:

bosAppModule.directive('layoutTableCellControlControlRender',['$compile','$filter', function($compile,$filter){ 
    var layoutTableCellControlRenderObj={}; 
    linkFnTableCellControlRender=function(scope, element, attributes) { 
     scope.controlData="NOCONTROLDATA"; 
     scope.kendoOptions={}; 
     //scope.field = $filter('lowercase')(scope.field); 
    }; 
    layoutTableCellControlRenderObj.scope={field:"@",tranobj:"@" }; 
    layoutTableCellControlRenderObj.restrict='AE'; 
    layoutTableCellControlRenderObj.replace='true'; 
    layoutTableCellControlRenderObj.template="<div field={{tablecellcontrol.attributename | lowercase }} tranobj={{tablecellcontrol.objectname | lowercase}}>" + 
              "</div>"; 
    layoutTableCellControlRenderObj.link = linkFnTableCellControlRender; 

    return layoutTableCellControlRenderObj; 
}]); 
+0

Wo ist Ihre Filterdefinition? –

+0

@ChrisHermut Es ist innerhalb Vorlage Feld = {{Tablecellcontrol.attributename | Kleinbuchstaben}} tranobj = ** {{tablecellcontrol.objectname | Kleinbuchstaben}} – bagya

+0

@ChrisHermut - Ich hoffe, du hast mein Problem. – bagya

Antwort

0

sollten Sie überprüfen What is the difference between '@' and '=' in directive scope in AngularJS?

Und = für diesen Anwendungsbereich Eigenschaften Definitionen für Zwei- in diesem Parameter verwenden Weg Modellbindung

layoutTableCellControlRenderObj.scope={field:"=",tranobj:"=" }; 

prüfen diese vereinfachte Demo hier: http://jsfiddle.net/juanmendez/k6chmnch/

+0

Ja. Zwei-Wege-Bindung ist in Ordnung. Aber warum funktioniert der Filter nicht im Ausdruck? – bagya

+0

Weil Sie den Wert nicht übergeben, wenn Sie @ verwenden, sollten Sie ** = ** – shershen

+0

verwenden Ich habe versucht mit "=". Dann bekomme ich Fehler - Syntax Error: Token '{' ungültiger Schlüssel in Spalte 2 des Ausdrucks [{{tablecellcontrol.attributename}}] beginnend bei [{tablecellcontrol.attributename}}] .https: //docs.angularjs.org /error/$parse/syntax?p0=%7B&p1=invalid%20key&p2=2&p3=%7B%7Btablecellcontrol.attributename%7D%7D&p4=%7Btablecellcontrol.attributename%7D%7D – bagya

Verwandte Themen