我有一个带有 ng-click 的按钮,我通过参数将对象传递给函数,该函数必须将我重定向到另一个页面,其中包含我传递给它的对象的 id,另一个 Controller 接收它,在 bd 中搜索它并在我的 View 中显示它,但按钮不起作用,它只是将我重定向到 $routeProvicer.otherwise('/') 主页。但如果我手动输入 localhost:3000/admin/1241245124 <= id ,它就完美了...
感谢任何帮助,我已将我的代码留在这里。
admin.html
<h1>Admin Panel</h1>
<hr>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Productos</h3>
</div>
<div class="panel-body">
<table class="table">
<tr>
<td>Titulo</td>
<td>Tipo</td>
<td>Autor</td>
<td>Creado</td>
<td>Acciones</td>
</tr>
<tr ng-repeat="product in products">
<td><a ng-href="{{}}">{{product.nombre}}</a></td>
<td>{{product.tipo}}</td>
<td>{{product.autor}}</td>
<td>{{product.creado | date}}</td>
<td><a href="#" class="btn btn-warning" ng-click="deleteBook(product)">Borrar</a> <a href="#" class="btn btn-info" ng-click="editBook(product)">Editar</a></td>
</tr>
</table>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Articulos</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
</div>
</div>
admin.js
'use strict';
angular.module('myApp.admin', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/admin', {
templateUrl: 'admin/admin.html',
controller: 'AdminCtrl'
});
$routeProvider.when('#/admin/:id', {
templateUrl: 'admin/edit.html',
controller: 'AdminEditCtrl'
});
}])
.controller('AdminCtrl', function($scope, $http,librosFactory, $location) {
librosFactory.getLibros().success(function(libros){
$scope.products = libros;
});
$scope.deleteBook = function(book){
console.log(book);
librosFactory.deleteBook(book).success(function (book,err) {
if (err) console.log(err);
else console.log("libro borrado");
});
};
$scope.editBook = function (book) {
if(book._id) {
console.log(book);
$location.url('#/admin/'+book._id);
}
else {
console.log('erroror');
}
}
})
.controller('AdminEditCtrl', function ($scope, $routeParams, librosFactory) {
librosFactory.searchById($routeParams.id).success(function (book, err) {
if(err) console.log(err);
console.log(book)
$scope.product = book;
})
});
最佳答案
尝试从 <a>
中的 href 属性中删除 #就这样吧href=""
关于javascript - 重定向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36756314/