我是Angular和ui路由器的新手。当某人选择一个模型并且我的控制器执行标准的SHOW方法时,我只想更新URL以包括模型的ID,而无需刷新页面,然后继续原始视图。我不确定该怎么做…
$stateProvider .state('citylist', { url: "/", templateUrl: "views/index.html" }) .state('cityshow', { url: "/city/:id", templateUrl: "views/index.html" }) angular.module('app.system').controller('IndexController', ['$scope', 'Global', 'Cities', '$stateParams', '$location', function ($scope, Cities, $stateParams, $location) { $scope.loadTown = function(id) { Cities.get({id: id }, function(city) { $scope.city = city // Change URL // Do things within the same view... }); }; }); <button ng-click="loadTown(123456)">Chicago</button>
您使用的代码段与正确的 ui路由器 设置有点不同。我会建议您,检查此演示应用程序:http : //angular-ui.github.io/ui- router/sample/#/contacts/1。在这里我们可以看到在不更改任何页面的情况下更改 明细的 同时 列表 是如何“固定”的。 __
此示例的代码在此处https://github.com/angular-ui/ui- router/tree/master/sample下载。
这个代码片段( state.js ) 应该对理解如何 _( 维基百科除外)_有很大帮助。加载演示,通读此注释说明。并且会有意义的… ui-router
ui-router