javascript - 重定向不起作用

标签 javascript angularjs

我有一个带有 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>  &nbsp;  &nbsp;<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/

相关文章:

javascript - 如果没有找到数据,则将选择值更改为 null

javascript - 如何将值添加到从数组加载的 <option> 标记

javascript - 将 Grails GSP 自定义标记转换为 AngularJS 指令

angularjs - 如何使用 Angular 收集多个表单提交并一次提交到 mongoose 模型?

python - Angular $routeProvider 不解析 django 变量

javascript - Internet Explorer 背景大小问题

javascript - Express (sequelize) 导出异步函数

javascript - 无法使用扩展运算符

javascript - AngularJS ui-router 登录认证

AngularJS Web 应用程序