2016-01-06 63 views
1

当我调用控制器中定义的函数时出现函数未定义错误。在角度js控制器功能中未捕获ReferenceError

Uncaught ReferenceError: deleteBook is not defined

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset='utf-8'> 
    <title></title> 
<body> 

<div ng-app="myApp" ng-controller="customersCtrl"> 
<ul style="list-style:none;"> 
    <li ng-repeat="x in name"> 
    <a onclick="deleteBook({{ x.id }})" href="javascript:void(0);">{{ x.name + ' - ' + x.author }}</a> 
    </li> 
</ul> 
</div>  
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script> 
<script type="text/javascript"> 
    var app = angular.module('myApp', []); 
    app.controller('customersCtrl', function($scope , $http) { 
     $scope.deleteBook = function (pId) { 
      console.log(pId); 
     }  
     $http.get("http://localhost/tangu/books.php") 
     .then(
      function(response) { 
       console.log(response); 
       $scope.name = response.data; 
      } 
     ); 
    }); 
</script> 
</body> 
</html> 

回答

0
<a onclick="deleteBook({{ x.id }})" href="javascript:void(0);">{{ x.name + ' - ' + x.author }}</a> 

试试这个,而不是什么上面写的。

<a ng-click="deleteBook(x.id)"</a> 

鉴于deleteBook函数在您的相应控制器中。

+0

这个工作,但我可以知道我们为什么没有使用{{x.id}} – user1679267

+0

因为使用角度指令时不需要数据绑定。 ng表示那里的指示。 –

+0

没有指令,我们可能需要数据绑定,以防万一您的问题得到解决,此工具提示=“{{image.test}}” –

相关问题