2017-05-19 7 views
0

Ich bin dabei, das Feld input dynamisch zu setzen. Aber ich kam mit error. wie man die ng-switch-when benutzt, um den Typ in input Felder oder irgendeine andere Alternative einzustellen?"Eingang" dynamisch in angularjs einstellen - funktioniert nicht

hier ist meine Temp:

var GridTemplate = [ 
      '<div>', 
       '<div>', 
        '<ul class="titles"><li ng-repeat="page in currentPage">{{page.title}}</li></ul>', 
        '<div class="rowContent">', 
        '<ul ng-repeat="(title,page) in currentPage">', 
         '<li ng-repeat="(key,element) in page.key track by $index">', 
         '<input ng-switch-when="page.key[key] == string" type="text" name="" id="" ng-model="page.key[key]" ng-blur="numSort(page)" />', 
         '<input ng-switch-when="page.key[key] == number" name="" id="" ng-model="page.key[key]" ng-blur="numSort(page)" />', 
         '</li></ul></div>', 
        '<div class="pageNavigator"><ul><li ng-repeat="page in slides"><a ng-href="">{{$index+1}}</a></li></ul></div>', 
       '</div>', 
      '</div>' 
      ]; 
+0

Welchen Fehler erhalten Sie – redFur

+0

Fehler ist: 'Controller 'ngSwitch', benötigt von Direktive 'ngSwitchWhen', kann nicht gefunden werden!' – 3gwebtrain

Antwort

1

starten:

<input type="{{getInputType(page.key[key])}}" ng-model="page.key[key]" /> 

und dann eine Funktion in Ihrem Controller Überprüfen Sie den Parameter und geben Sie den Eingabetyp

zurück
$scope.getInputType = function(param){ 
    if(angular.isString(param)) return "text"; 
    if(angular.isNumber(param)) return "number"; 
} 
0

ng-switch-when Richtlinien in einer ng-switch Richtlinie gewickelt werden müssen.

Von here:

<ANY ng-switch="expression"> 
    <ANY ng-switch-when="matchValue1">...</ANY> 
    <ANY ng-switch-when="matchValue2">...</ANY> 
    <ANY ng-switch-default>...</ANY> 
</ANY> 

Also in Ihrem Fall denke ich, es smth wäre wie

<li ng-switch="page.key[key]" ng-repeat="(key,element) in page.key track by $index"> 
    <input ng-switch-when="string" type="text" name="" id="" ng-model="page.key[key]" ng-blur="numSort(page)" /> 
    <input ng-switch-when="number" name="" id="" ng-model="page.key[key]" ng-blur="numSort(page)" /> 
</li> 
Verwandte Themen