当在ng-repeat中使用时,ng-click不能处理li

时间:2015-10-15 15:37:17

标签: javascript jquery html angularjs angularjs-ng-repeat

我正在使用像这样的ng-repeat中的li

   <ul class="pagination">
                        <li ng-repeat="page in vm.totalPages" ng-click="vm.statechange(page); $event.stopPropagation()"><span>{{page}}</span></li>
                    </ul>

由于某种原因,点击无效。有什么建议吗?

更新了js代码

        vm.stateChange = function (page) {
        $event.stopPropagation();
        var storeCommandGet = storeCommandResource.get({ $skip: page + "0", $top: $scope.countPerPage, $orderby: "Serial" });
        storeCommandGet.$promise.then(function (response) {
            $scope.data = response.value;
            $scope.storeCommandsTableParams.reload();
        });

    };

更新fiddler添加

我尝试在这里重新创建问题

http://jsfiddle.net/qqy90w1f/

3 个答案:

答案 0 :(得分:0)

我认为你不能$event.stopPropagation()ng-click。你应该把它移到vm.statechange()

答案 1 :(得分:0)

问题是一个错字

在html中我正在使用statechange 但是函数名是stateChange

休息工作正常。

答案 2 :(得分:0)

您没有使用$ scope绑定 ng-click 方法。看到这段代码:

在HTML中:

<li ng-repeat="page in vm.pages" ng-click="logout(page); $event.stopPropagation()"><span>Click me to change page to page  {{page}}</span></li>

在AngularJS中

$scope.logout = function(number) {

    console.log('page change to', number);
    vm.pageData = 'pumpkin ' + number;
}

see this link