我正在学习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和模式的控制器为EditModalController
和angular.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
并解决。我收到错误,角度无法读取EditModalController
中openEditModal
中的属性标题,或者未定义。我确定我在$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',));
中遇到了错误,但我无法弄明白。