Первоначально я показываю все имена пользователей в таблице. Как только пользователь выбрал какое-либо имя, я вызываю метод LoadData с выбранным пользователем в качестве параметра. Я изменяю url #/Trades/User/User1 и добавляю детали под User1. Мое требование: 1) В методе LoadData я хочу изменить URL-адрес как #/Trades/User/User1 или #/Trades/User/User2 на основе выбора 2) Он должен обновить данные и отобразить их в поле зрения, но он не должен перезагружать контроллер.Измените URL-адрес, не перезагружая контроллер в Angularjs
HTML
<div ng-app="myApp" ng-controller="myCtrl">
<table>
<tr ng-repeat-start="val in data.Titles" class="h" ng-click="LoadData(val.title)">
<td colspan="2" ng-hide="val.title == undefined">{{val.title}}</td>
</tr>
<tr ng-repeat="con in val.details">
<td>{{con.portfolio}}</td>
<td>{{con.status}}</td>
</tr>
<tr ng-repeat-end>
<td colspan="2">Load More</td>
</tr>
</table>
</div>
Код
angular.module("myApp", [])
.controller("myCtrl", ["$scope", function ($scope) {
$scope.data = {"Titles":[{title:"User 1",
details: [{portfolio: "Microsoft", status:"Active"},{portfolio:"IBM", status:"Inactive"}]
}, {title:"User 2",
details: [{portfolio: "Yahoo", status:"Inactive"},{portfolio: "Google", status:"Active"}]
}]};
$scope.LoadData = function(id) {
Change the url as #/Trades/Author/User1
Load the details of the User1
};
});
Будет ли поддерживать историю браузера IE, работает ли кнопка назад –
Честно говоря, я видел, что это работает иногда, а иногда нет, но как я использую это, может быть, что мой другой код это преступник. Я использую это для изменения модальных URL-адресов, не имея необходимости поддерживать отдельные состояния при наличии модальности. – jusopi