[英]Angular js $state.go with parameter not working
我試圖用參數實現angular js $ state.go()。 但$ state.go()在沒有參數的情況下工作正常。 但是使用參數它不起作用。 我已經嘗試了很多例子,但沒辦法。 我需要在html視圖中顯示參數。 我的州提供者是,
$stateProvider
.state('home', {
url: '/',
views: {
'content@': {
templateUrl: 'content.html',
controller: 'dashCtrl'
}
},
params: {
obj: {
value:''
}
}
});
和控制器是,
dashboard.controller('dashCtrl', function ($scope, $http, $state, $stateParams){
$state.go('dash_home', {obj: {value:'admin'}});
});
我的div是
<div>
<h1>welcome : {{value}} || {{obj.value}}</div>
問題是什么。?
您不能直接在HTML中使用參數。 首先,您必須將其添加到范圍(或虛擬模型,如果您使用它),例如
$scope.obj = $state.current.params.obj
而且你必須在你要去的州的控制器中這樣做,而不是那些你稱之為$ state.go的州。
我發現了自己的錯誤。 正確的代碼是,
$stateProvider
.state('home', {
url: '/',
views: {
'content@': {
templateUrl: 'content.html',
controller: 'dashCtrl'
}
},
params: {
value:''
}
});
控制器是,
dashboard.controller('mycontroller',function($scope, $http, $state, $stateParams){
$scope.user=$state.params.registerData;
$scope.redirect=function()
{
$state.params.registerData='mycontent';
$state.go('dash_home', {registerData:$state.params.registerData});
}
});
謝謝大家。
我想你不能在params中使用對象。 只需更換
params: {
obj: {
value:''
}
}
對此:
params: {
value:''
}
還有: $state.go('dash_home', {obj: {value:'admin'}});
到$state.go('home', {value:'admin'});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.