将变量从 Angular 中的路由传递到控制器
Pass variables into controller from route in Angular
我正在尝试使用 Angular 路由来控制视图。除了设置模板和控制器外,我还想将一个变量传递给控制器,以便它加载适当的 JSON 内容。
这是我当前的路线代码...
app.config(['$routeProvider',
function ($routeProvider) {
$routeProvider.
when('/forum/:forumID', {
templateUrl: '/AngularTemplates/forumListing.html',
controller: 'forumViewFullList'
}).
when('/thread/:threadID', {
templateUrl: '/AngularTemplates/thread.html',
controller: 'forumThread'
}).
otherwise({
templateUrl: 'blah',
controller: 'blah'
}
);
}]);
而且这是控制器,不是 HTTP 请求末尾的变量...
app.controller('forumViewFullList', function ($scope, $http, $timeout) {
function loadSell() {
$http.get("/umbraco/api/openzone/GetMessages?pageSize=50&pageNumber=1&forumId="+forumID)
.then(function (response) {
/// do something
});
}
loadSell();
})
如何从路由中检索 forumID 并将其传递给控制器?
谢谢
// Given:
// URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
// Route: /Chapter/:chapterId/Section/:sectionId
//
// Then
$routeParams ==> {chapterId:'1', sectionId:'2', search:'moby'}
请参阅 angular 文档 $routeParams
我会改用 angular ui.router 这是事实上的解决方案。比默认 angular 路由好得多。
使用 ui 路由器,您可以将数据附加到状态对象 ...
https://github.com/angular-ui/ui-router/wiki#attach-custom-data-to-state-objects
.state('contacts.list', {
templateUrl: 'contacts.list.html',
data: {
customData1: 44,
customData2: "red"
}
})
您甚至可以将函数附加到 return 分辨率数据的状态 ...
我正在尝试使用 Angular 路由来控制视图。除了设置模板和控制器外,我还想将一个变量传递给控制器,以便它加载适当的 JSON 内容。
这是我当前的路线代码...
app.config(['$routeProvider',
function ($routeProvider) {
$routeProvider.
when('/forum/:forumID', {
templateUrl: '/AngularTemplates/forumListing.html',
controller: 'forumViewFullList'
}).
when('/thread/:threadID', {
templateUrl: '/AngularTemplates/thread.html',
controller: 'forumThread'
}).
otherwise({
templateUrl: 'blah',
controller: 'blah'
}
);
}]);
而且这是控制器,不是 HTTP 请求末尾的变量...
app.controller('forumViewFullList', function ($scope, $http, $timeout) {
function loadSell() {
$http.get("/umbraco/api/openzone/GetMessages?pageSize=50&pageNumber=1&forumId="+forumID)
.then(function (response) {
/// do something
});
}
loadSell();
})
如何从路由中检索 forumID 并将其传递给控制器?
谢谢
// Given:
// URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
// Route: /Chapter/:chapterId/Section/:sectionId
//
// Then
$routeParams ==> {chapterId:'1', sectionId:'2', search:'moby'}
请参阅 angular 文档 $routeParams
我会改用 angular ui.router 这是事实上的解决方案。比默认 angular 路由好得多。
使用 ui 路由器,您可以将数据附加到状态对象 ...
https://github.com/angular-ui/ui-router/wiki#attach-custom-data-to-state-objects
.state('contacts.list', {
templateUrl: 'contacts.list.html',
data: {
customData1: 44,
customData2: "red"
}
})
您甚至可以将函数附加到 return 分辨率数据的状态 ...