通过解析将对象传递给模态不起作用

时间:2016-06-04 17:52:42

标签: javascript angularjs google-chrome

我正在学习Angular,并尝试从选定的表格行编辑书籍。我选择它是正确的,我把它作为范围变量,但是当我尝试通过<!DOCTYPE html> <html> <body> <div class="container"> <div class="jumbotron"> <section> <h2>Library</h2> <table class="table table-striped table-bordered"> <tr> <th> Title </th> <th> Author </th> <th> Genre </th> <th> Year </th> </tr> <tr ng-click="setSelected(book)" ng-repeat="book in books | orderBy : 'year'"> <td> <strong>{{book.title}}</strong> </td> <td> {{book.author}} </td> <td> {{book.genre}} </td> <td> {{book.year}} </td> </tr> </table> <div> <button ng-click="openModal()" type="button" class="btn btn- primary">Add book</button> <button ng-click="openEditModal()" type="button" class="btn btn- primary">Edit book</button> </div> </section> </div> </div> </body> </html> 函数中的resolve传递它时出错了。

我的html,我选择一行看起来像这样:

MyfirstController

此html和模式的控制器为EditModalControllerangular.module('app.component1').controller('MyFirstController', function($scope, $http, $modal, response){//tu w argumentach jeszcze byly books 'use strict'; $scope.selectedBook = null; $scope.setSelected = function (selectedBook) { $scope.selectedBook = selectedBook; }; $scope.books = response.data; $scope.openModal = function () { var modal = $modal.open({ templateUrl: '/component-1/modal-dialog/modal-dialog.tpl.html', controller: 'MyModalController' /*resolve: { newBook: function() { return; } }*/ }); modal.result.then(function(addedBook) { $scope.books.push(addedBook); }); }; $scope.openEditModal = function () { var modal = $modal.open({ templateUrl: '/component-1/edit-dialog/edit-dialog.tpl.html', controller: 'EditModalController', resolve: { selectedBook: function() { return $scope.selectedBook; } } });/* modal.result.then(function(addedBook) { $http.post('/component-1/books.json', addedBook); });*/ }; }).controller('MyModalController', ['$scope', '$modalInstance', function($scope, $modalInstance, $http){ //tu w argumentach bylo jeszcze selectedBook 'use strict'; $scope.date = new Date(); //$scope.year = $scope.date.getMonth(); $scope.addedBook = { "genre": '', "year": $scope.date, "title": '', "author": '' }; $scope.ok = function() { $modalInstance.close($scope.addedBook); }; }]).controller('EditModalController', ['$scope', '$modalInstance', 'selectedBook', function($scope, $modalInstance, $http, selectedBook){ 'use strict'; $scope.selectedBookTitle = selectedBook.title; $scope.selectedBookAuthor = selectedBook.author; $scope.selectedBookGenre = selectedBook.genre; $scope.selectedBookYear = selectedBook.year; }]); ,并且在此处:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div class="modal-content">
<div class="modal-header">
    <h3 class="modal-title">Add new book</h3>
</div>
<div class="modal-body">
  <form name="modalForm">
      <div class="form-group">
        <label for="title">Title:</label>
        <input ng-model="selectedBookTitle" ng-required="true" type="text"     class="form-control" id="editTitle">
      </div>
      <div class="form-group">
        <label for="author">Author:</label>
        <input ng-model="selectedBookAuthor" ng-required="true" type="text" class="form-control" id="editAuthor">
      </div>
      <div class="form-group">
        <label for="genre">Genre:</label>
        <input ng-model="selectedBookGenre" type="text" class="form-control" id="editGenre">
      </div>
      <div class="form-group">
        <label for="year">Release date:</label>
        <datepicker min="minDate" placeholder="Set release date" show-weeks="false" id="editYear"></datepicker>
        <!--<label for="year">Year:</label>-->
        <!--<input ng-model="addedBook.year" ng-pattern="/^\d+$/" type="text"     class="form-control" id="year">-->
      </div>
    </div>
    <div class="modal-footer ">
        <button ng-disabled="modalForm.$invalid" class="btn btn-primary">Edit     book</button>
    </div>
  </form>
</div>
</body>
</html>

这里不重要,但他是我的模态,我希望将书籍数据导入输入

datepickers

不要看openEditModal()。我需要长时间思考它们,以及如何使它们像我们希望的那样工作。

让我们回到selectedBook.title并解决。我收到错误,角度无法读取EditModalControlleropenEditModal中的属性标题,或者未定义。我确定我在$Array1 = array(array("id" => 1,"val" => 'Hotel royal', "code" => '110088', ),array("id" => 2,"val" => 'Hotel Club Town', "code" => '110084', ),array("id" => 4,"val" => "Hotel Park Club ", "code" => '110088',)); $Array2 = array(array("id" => 2,"val" => 'Hotel royal delhi', "code" => '110088',),array("id" => 1,"val" => "Hotel Club's Town", "code" => '110084',),array("id" => 6,"val" => "Hotel Park Club's Delhi ", "code" => '110088',)); 中遇到了错误,但我无法弄明白。

0 个答案:

没有答案