2016-07-28 19 views
0

Ausblick:kann nicht in AngularJS merge Feldwerte innerhalb Visual Komponente zuzugreifen

<div ng-controller = "ClPortalRegistrationController"> 

    <div ng-repeat="(key, value) in ObjectApiFieldsetMap"> 
     {{key}} {{value}} //this is printing correct result 
     <c:FieldSetComponent objectAPIName="'{{key}}'" fieldSet="'{{value}}'" cid="'{{key}}'" 
          sectionTitle="Section 1" columns="2" textAlign="center"></c:FieldSetComponent> 
    </div> 
</div> 

Controller:

$scope.ObjectApiFieldsetMap = { 
Applications__c: "Application_FieldSet_One", 
clcommon__Collateral__c: "Collateral_FieldSet_One" 
}; 

Wenn ich jetzt {{key}},{{value}} innen c:FieldSetComponent, seine nur vorbei Zeichenfolge als {{key}} zuzugreifen bin versucht, und {{value}} und nicht das konvertierte Ergebnis. Wie kann ich auf Werte zugreifen, die in Schlüssel, Wert in Komponente gespeichert sind?

Antwort

0

Posting die Lösung, die ich als eine Arbeit implementiert.

Es stellt sich heraus, dass Sie nicht auf angular merge Feldwerte innerhalb Visualforce-Komponenten zugreifen können. Anstatt die Werte innerhalb des Winkelreglers zu verändern (Eingabe in Schlüssel-Wert-Paar trennen), muss ich die Logik zum Apex-Controller schieben.

<apex:component controller="RegistrationController" access="global"> 
    <apex:repeat value="{!ObjectApiFieldsetMap}" var="apiName"> 
      <c:FieldSetComponent objectAPIName="{!apiName}" fieldSet="{!ObjectApiFieldsetMap[apiName]}" 
      cid="{!apiName}{!ObjectApiFieldsetMap[apiName]}" 
       columns="1" textAlign="center"> 
      </c:FieldSetComponent> 

    </apex:repeat> 
</apex:component> 

Und in meinem Scheitel Controller d.h RegistrationController, ich habe die Logik gesetzt Schlüsselwerte aus einer Karte Eingang zu trennen, die ich innerhalb Visual Komponente

global class RegistrationController { 

global Map<String,String> ObjectApiFieldsetMap { 
           get { 
            ObjectApiFieldsetMap = arrangeApiFieldSetsByOrder(); 
            return ObjectApiFieldsetMap; 
            } 
            set; 
    } 

    global Map<String,String> arrangeApiFieldSetsByOrder() { 

     Map<String,String> ObjectApiFieldsetMap = new Map<String,String>(); 
        /* logic for segregation */ 
     return ObjectApiFieldsetMap; 
    } 
}