2016-01-06 67 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}}」 –

相關問題