Angularjs 无法在angular meteor应用程序中使用ui路由器编辑我的文档

Angularjs 无法在angular meteor应用程序中使用ui路由器编辑我的文档,angularjs,meteor,angular-ui-router,angular-meteor,Angularjs,Meteor,Angular Ui Router,Angular Meteor,我正在使用ui路由器构建我的第一个angular meteor应用程序。 从图书列表视图,您可以访问bookDetail模板: 以下是书籍详细信息页面: 我想从详细信息页面访问“编辑页面”。此页面应返回与文档详细信息页面相同的数据,以便用户能够编辑和保存该页面。但我失败了。请在下面检查我的代码: 1) 用户界面路由器配置 //Router angular.module('bookshelf',['angular-meteor', 'ui.router']); //Router conf

我正在使用ui路由器构建我的第一个angular meteor应用程序。 从图书列表视图,您可以访问bookDetail模板:

以下是书籍详细信息页面:

我想从详细信息页面访问“编辑页面”。此页面应返回与文档详细信息页面相同的数据,以便用户能够编辑和保存该页面。但我失败了。请在下面检查我的代码:

1) 用户界面路由器配置

 //Router
 angular.module('bookshelf',['angular-meteor', 'ui.router']);
 //Router configuration

         angular.module('bookshelf').config(['$urlRouterProvider',
        '$stateProvider','$locationProvider',
     function($urlRouterProvider, $stateProvider, $locationProvider){

$locationProvider.html5Mode(true);

$stateProvider
  .state('books', {
    url: '/books',
    templateUrl: 'bookList.ng.html',
    controller: 'BookListCtrl'
  })
  .state('bookAdd', {
    url: '/books/add',
    templateUrl: 'addBook.ng.html',
    controller: 'bookAddCtrl'

  })
  .state('bookDetail', {
    url: '/books/:bookId',
    templateUrl: 'bookDetail.ng.html',
    controller: 'bookDetailCtrl'
  })
  .state('bookEdit', {
    url: '/edit/books/:bookId',
    templateUrl: 'bookEdit.ng.html',
    controller: 'bookEditlCtrl'
  });

  $urlRouterProvider.otherwise('/books');
  }]);
2) html模板“bookEdit.ng.html”:

<div class="container">
<form  ng-controller="bookEditCtrl">
<label>Title</label>
<input ng-model="book.title">
<label>Author</label>
<input ng-model="book.author">
<label>Publisher</label>
<input ng-model="book.publisher">
<button type="button" class="btn btn-success" 
 ng-click="save(book)">Save</button>

</form>
</div>
这是我尝试转到编辑页面时的结果。


控制台显示一个错误。如何在输入字段中获取书籍详细信息,以便编辑和保存?我的路线有问题吗?也许我应该在输入字段中添加一个表达式,比如{{book.title}、{{{book.author}、{{{book.publisher},这样我就可以看到书的详细信息了?感谢您的支持。

它在
bookEdit
state中的控制器名称中的输入错误

它应该

controller: 'bookEditCtrl' 
而不是

controller: 'bookEditlCtrl'
纠正状态

.state('bookEdit', {
    url: '/edit/books/:bookId',
    templateUrl: 'bookEdit.ng.html',
    controller: 'bookEditCtrl' //<--change here
});
.state('bookEdit'{
url:“/edit/books/:bookId”,
templateUrl:'bookEdit.ng.html',

控制器:'bookEditCtrl'//非常感谢。现在它可以工作了!我检查了我的代码10次,但没有检测到输入错误。谢谢again@SandroPalmieri没问题,你能接受这个答案吗?
.state('bookEdit', {
    url: '/edit/books/:bookId',
    templateUrl: 'bookEdit.ng.html',
    controller: 'bookEditCtrl' //<--change here
});