【问题标题】:Uncaught ReferenceError in angular js controller function角度js控制器功能中未捕获的ReferenceError
【发布时间】:2016-01-06 20:54:46
【问题描述】:

当我调用控制器中定义的函数时,出现函数未定义错误。

未捕获的引用错误:未定义 deleteBook

<!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>

【问题讨论】:

    标签: angularjs


    【解决方案1】:
     <a onclick="deleteBook({{ x.id }})" href="javascript:void(0);">{{ x.name + ' - ' + x.author }}</a>
    

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

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

    鉴于 deleteBook 功能存在于您各自的控制器中。

    【讨论】:

    • 这可行,但我可以知道为什么我们没有使用 {{ x.id }}
    • 因为使用 angular 指令的地方不需要数据绑定。 ng 代表那里的指令。
    • 如果没有指令,我们可能需要数据绑定,例如这个 tooltip="{{image.test}}"
    猜你喜欢
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 2014-02-21
    相关资源
    最近更新 更多