Angularjs $state.go使用URL参数进入状态
我有一个带有url参数的状态。 比如:Angularjs $state.go使用URL参数进入状态,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有一个带有url参数的状态。 比如: .state('MyState', { url: '/contacts/{personName}', templateUrl: '/app/templates/contacts.html', controller: 'ContactsController', params: { personName: null } }) 现在,我想使用$state.go语法,并能够通过参数将personName参数
.state('MyState', {
url: '/contacts/{personName}',
templateUrl: '/app/templates/contacts.html',
controller: 'ContactsController',
params: {
personName: null
}
})
现在,我想使用$state.go
语法,并能够通过参数将personName
参数传递给url
例如,如果我打电话:
$state.go('MyState', {personName: 'john'});
地址栏将显示:
现在地址栏正在显示,我不知道如何强制url包含
personName
。除此之外,它工作正常。在您的状态定义中,当您定义“params”时,您不必在url中添加param,因此请替换:
url: '/contacts/{personName}',
与
url: '/contacts',
定义状态时,请使用以下语法
.state('myState', {
url: '/contacts/:personName',
templateUrl: '/app/templates/contacts.html',
controller: 'ContactsController',
params: {
personName: {
array: false
}
}
})
注意:“在url中可以看到人名”
url: '/contacts',
Ref:只需在状态定义中添加带有默认值的参数。您所在的州仍然可以有Url值。
$stateProvider.state('MyState', {
url : '/url',
templateUrl : "/app/templates/contacts.html",
controller : 'ContactsController',
params: {personName: 'defaultName'}
});
并将参数添加到$state.go()并导航
$state.go('MyState',{personName: "MIT"});
请参阅:
希望对你有帮助 语法可能是
url:'/contacts/:personName'
,它使用$stateParams
,而$state.go()
可以指向它to@AlekseySolovey这两种书写方式是等效的。你指的是url部分吗?如果是这样,它就相当于{}语法。无论如何,我试过了,它也不起作用。如果你使用{},那么你需要使用“resolve”。请查看“”中的示例,确切地说,“params”用于指定URL后将显示哪些参数,您不需要在URL中添加参数