URL-параметры Angularjs передаются как параметры запроса
Я настроил состояние $ как показано ниже:
.state('app.subjects.current', {
abstract: true,
url: "/:subjectId",
template: "<div ui-view />",
ncyBreadcrumb: {
skip: true
}
})
.state('app.subjects.current.home', {
url: '/home',
templateUrl: "assets/src/subject/subjectHome.html",
resolve: loadSequence('subjectHomeCtrl'),
ncyBreadcrumb: {
label: 'View'
},
string: 'sidebar.nav.pages.SUBJECTHOME'
})
Я перехожу в это состояние, используя $state.go('app.subjects.current.home', {subjectId: '999'});
URL-адрес отображается в адресной строке как " http://localhost:12253/#/app/subject //home? SubjectId=999". На самом деле это должен был быть " http://localhost:12253/".
Спасибо за любую помощь.
1 ответ
Решение
Я создал рабочий пример с точно таким же отображением - чтобы показать вам, что ваш подход работает
Итак, это государства
.state('app', {
template: '<div ui-view=""></div>',
})
.state('app.subjects', {
template: '<div ui-view=""></div>',
})
.state('app.subjects.current', {
abstract: true,
url: "/:subjectId",
template: "<div ui-view />",
ncyBreadcrumb: {
skip: true
}
})
.state('app.subjects.current.home', {
url: '/home',
templateUrl: "assets/src/subject/subjectHome.html",
//resolve: loadSequence('subjectHomeCtrl'),
ncyBreadcrumb: {
label: 'View'
},
string: 'sidebar.nav.pages.SUBJECTHOME'
})
И так мы можем их назвать
// $state.go
<button ng-click="$state.go('app.subjects.current.home', {subjectId: '999'});">
// ui-sref
<a ui-sref="app.subjects.current.home({subjectId: '888'})">
Проверьте это здесь. Это должно помочь выяснить, что отличается в вашем приложении...