В настоящее время я использую mongoose, который автоматически генерирует идентификатор для моего элемента данных, который находится в форме буквенно-цифровой _id: "560e617a7f84101a6bf85c37"
.
Я настроил ui-router как
state('showallitems.edititem', {
controller: 'ModalCtrl',
url: "/editItem/:id",
template: ""
});
И html:
<a class="btn btn-primary"ui-sref="showallitems.edititem({id: {{item._id}} })">Edit item!</a>
Проблема состоит в том, что свойство _id преобразуется в INTEGER, и оно становится бесконечным. Как я могу избежать этой проблемы?
Я уже использовал этот способ, и он работает для меня...
Мой код:
угловая версия "~ 1.3.15"
угловой-ui-router "~ 0.2.10"
версия мангуста "~ 3.8.0"
Версия оболочки MongoDB: 2.4.14
маршрут
.state('main.installation.form', {
url: '/form/:installationId',
views: {
'container@main': {
templateUrl: 'app/installation/installation.form.html',
controller: 'InstallationFormCtrl'
}
}
})
list.html
<tr ng-repeat="installation in installations">
<td class="col-md-2">{{installation.name}}</td>
<td class="col-md-9">{{installation.description}}</td>
<td class="col-md-1 text-center">
<a class="cursor-pointer" title="Editar" ng-click="editInstallation(installation)"><i class="fa fa-pencil"></i></a>
</td>
</tr>
list.controller.js
$scope.installations = [];
installationFactory.listAll().get().$promise.then(function(response){
$scope.installations = response;
});
$scope.editInstallation = function(installation) {
$state.go('main.installation.form', { installationId: installation._id } );
};
form.controller.js
$scope.installation = {};
if($stateParams.installationId){
installationFactory.findById().get({installation: $stateParams.installationId}).$promise.then(function(response){
$scope.installation = response;
});
}
И URL-адрес: