Sie müssen zwei Parameter mit ui-sref und an einen Status übergeben Zugriff darauf im State Controller. Es treten jedoch Probleme mit undefinierten Parameterwerten im Controller auf.
Um Parameter mit ui-sref zu übergeben und im Controller abzurufen, führen Sie die folgenden Schritte aus:
$stateProvider .state('home', { url: '/:foo?bar', // Define parameter placeholders in the URL views: { '': { templateUrl: 'home.html', controller: 'MainRootCtrl' }, ... } });
.controller('MainRootCtrl', function($scope, $state, $stateParams) { var foo = $stateParams.foo; // Access fooVal var bar = $stateParams.bar; // Access barVal })
Zusätzlich zu URL-Parameterplatzhaltern können Sie auch granulare Parameter mithilfe des params-Objekts in Statusdefinitionen definieren:
.state('other', { url: '/other/:foo?bar', params: { foo: { value: 'defaultValue', squash: false, }, bar: { array: true, }, hiddenParam: 'YES', } ...
So übergeben Sie Parameter mithilfe von ui-sref und rufen sie mit der aktualisierten Statusdefinition ab:
<a ui-sref="home({foo: 'fooVal1', bar: 'barVal1'})"></a> <a ui-sref="home({foo: 'fooVal2', bar: 'barVal2'})"></a>
Die Parameterobjekteinstellungen umfassen:
Weitere Informationen finden Sie in der UI-Router-Dokumentation zu URL-Parametern und $stateProvider.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter mit ui-sref und rufe sie im Controller ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!