AngularJS를 처음 사용했습니다. 도서 정보를 표시 할 수있는 앱을 만들고 싶습니다. 사용자가 아이콘을 클릭하여 책 정보를 삭제할 수 있습니다. 각 도서 정보를 표시하는 고객 지시문을 사용합니다. 도서 정보 목록에 아이콘이 있으며 사용자가 아이콘을 클릭하여 도서 정보를 제거 할 수 있습니다.지시문에서 컨트롤러 기능 호출
지시문의 아이콘에 ng-click 리스너가 있지만 컨트롤러에 정의 된 함수를 호출하는 방법을 알지 못합니다.
어떻게 할 수 있습니까? 그것을 구현하는 더 좋은 방법이 있습니까?
감사
HTML 코드 :
<div class="container" ng-app="myApp" ng-controller="bookCtrl">
<div ng-repeat="book in books | filter :{'name' : bookName}" book-List="book"></div>
</div>
app.js :
var app = angular.module('myApp',[]);
app.controller('bookCtrl', function ($scope,$http){
$scope.books=[];
$http.get("products.json")
.then(function(response){
$scope.books = response.data;
});
$scope.removeItem = function(x){
$scope.index = x;
$scope.books.splice(x,1);
}
});
app.directive('bookList', function(){
return{
restrict: 'EA',
scope: { item : '=bookList'},
templateUrl: "template.html",
};
});
템플릿 :
<div class="jumbotron" ng-app="myApp" ng-controller="bookCtrl">
<div class="row" >
<div class="col-md-7">
<h3>{{item.name}}</h3>
</div>
<div class="col-md-2">
<button type="button" class="btn btn-primary">{{item.price}}</button>
</div>
<div class="col-md-2">
<span class="glyphicon glyphicon-remove-sign" ng-click="removeItem($Index)"></span>
</div>
</div>
<div>{{item.description}}</div>
</div>