2016-03-23 2 views
1

zu übergeben Ich verwende ionische Rahmenwerk für die Entwicklung meiner hybriden mobilen Anwendung und ich muss auf eine Inhaltsbearbeitungsseite zugreifen, wo ich einige Werte weitergeben muss. Dazu habe ich die Parameter in der URL in routes.js DateiEinfachste Möglichkeit, Wert von URL zu dem Inhalt der Seite im ionischen Rahmenwerk mit angularjs

.state('editText', { 
    url: '/editText/:id/:text/:size', 
    templateUrl: 'editText.php', 
    controller: 'editTextCtrl' 
    }) 

Jetzt habe ich zugreifen möchten Routing hinzugefügt: id,: Text und: Größe im Inhalt der Seite. Kann ich das einfach tun, indem ich {id}, {text}, {size} im Inhalt der Seite verwende, oder muss ich etwas anderes tun, um dies zu ermöglichen? Bitte beachten Sie, dass ich an dieser Stelle nach der schnellsten und einfachsten Lösung suche, ohne dabei auf Sicherheit zu achten.

+0

Mögliches Duplikat von [Wie Abfrageparameter mit UI-Router für AngularJS extrahieren?] (Http://stackoverflow.com/questions/19053991/how-to-extract-query-parameters-with-ui-router-for -angularjs) – Lex

Antwort

0

Ihr Zustand wie folgt ändern,

.state('editText', { 
     url: '/editText', 
     templateUrl: 'editText.php', 
     controller: 'editTextCtrl', 
     params: { 
      id:'', 
      text:'', 
      size:'' 
     } 
     }) 

Sie können den Status von Controller aufrufen wie die Parameter zu übergeben folgt,

$state.go('editText',{id:45,text:'some text',size:45}); 

Dann können Sie diese Parameter in der Steuerung erhalten, wie folgt,

.controller('editTextCtrl',['$stateParams',function($stateParams){ 
    console.log($stateParmas.id); 
    console.log($stateParmas.text); 
    console.log($stateParmas.size); 
}]); 
+0

Er sollte seinen Zustand nicht ändern müssen –

1

Sie können die URL-Statusparameter unter Verwendung vonanfordern. Stellen Sie sicher, dass Sie dies in Ihren Controller injizieren. mit $stateParams.id und $stateParams.text

sagen Lassen Sie Zustand url ist /editText/:id/:text, dann können Sie die Werte aus der URL in Ihrem Controller (editTextCtrl) anfordern.

Verwandte Themen