Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 语法错误:Token';{';无效键-即使正确显示也会出错_Javascript_Angularjs - Fatal编程技术网

Javascript 语法错误:Token';{';无效键-即使正确显示也会出错

Javascript 语法错误:Token';{';无效键-即使正确显示也会出错,javascript,angularjs,Javascript,Angularjs,我在这里苦苦挣扎(我还是编程新手),我有一个ng repeat,它重复一个列表(一页接一页),该列表在前端显示正确的数字(即1),但是,当我尝试将其用于ng单击时,它将抛出此错误: Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 31 of the expression [getCtrlScope().currentPage = {{ page }}] starting at [{ page }}]. 奇

我在这里苦苦挣扎(我还是编程新手),我有一个ng repeat,它重复一个列表(一页接一页),该列表在前端显示正确的数字(即1),但是,当我尝试将其用于ng单击时,它将抛出此错误:

Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 31 of the expression [getCtrlScope().currentPage = {{ page }}] starting at [{ page }}].
奇怪的是,它会在HTML代码中正确地显示它,但不会正常工作

代码:

我环顾四周,但几乎所有的修复都是通过删除{{}来实现的,有些修复是有效的,因为它渲染不正确,但似乎我的修复是正确的


如果有人有任何想法,这将是一个很大的帮助:)

您可以直接从视图访问作用域变量,因此不需要getCtrlScope()函数。此外,angular指令中的所有变量都是作用域,因此不需要括号{{}

试试这个

<li class="page-item" ng-repeat="page in Pages">
    <a class="page-link" ng-click="currentPage = page">{{ page }}</a>
</li>
  • {{page}

  • 在ng xx指令表达式中不需要
    {{}
    。@Pengyy说实话,我试过了,但它以前不起作用,现在起作用了,我已经做了好几个小时了,谢谢:)想回答这个问题,这样我就可以给你评分了吗?只使用currentPage而不是getCtrlScope().currentPage
    <li class="page-item ng-scope" ng-repeat="page in Pages">
       <a class="page-link waves-effect ng-binding" ng-click="getCtrlScope().currentPage = 2">2</a>
    </li>
    
    var MyApp = angular.module('MyApp', []);
    
    MyApp.controller('MyCtrl', function ($scope, $filter) {
        $scope.Users = tJSONData;
        $scope.currentPage = 0;
        $scope.pageSize = 3;
        $scope.search = '';
        $scope.Pages = [1, 2, 3];
    
        $scope.getData = function () {
            return $filter('filter')($scope.Users, $scope.search)
        }
    
        $scope.updatePage = function() {
            $scope.$apply(function () {
                $scope.Users = tJSONData
            })
        }
    
        $scope.numberOfPages = function () {
            return Math.ceil($scope.getData().length / $scope.pageSize);
        }
    
        $scope.getCtrlScope = function () {
            return $scope;
        }
    });
    
    MyApp.filter('startFrom', function () {
        return function (input, start) {
            start = +start; //parse to int
            return input.slice(start);
        }
    });
    
    <li class="page-item" ng-repeat="page in Pages">
        <a class="page-link" ng-click="currentPage = page">{{ page }}</a>
    </li>