javascript – AngularJS ng-click无法使用>标签

我正在使用AngularJS制作分页列表图像.当我在< li>中使用它时,ng-click不起作用标签甚至是< a>标签在里面.但它在< button>中工作正常标签.

<div  ng-controller="sampleCtrl" ng-app="myApp" data-ng-init="currentpage=1">
            <h2>{{currentpage}}</h2>
        <ul>
             <li data-ng-repeat="image in images[currentpage-1]">
                <img src='{{ image.img }}' width="150px" height="88px"/>
             </li>
        </ul>


    <ul class="pagination">
        <li data-ng-repeat="i in [1,2,3,4,5]" title="Page {{i}}">
            <a href="#" data-ng-click="currentpage = currentpage + 1">{{i}}</a>
        </li>
    </ul>
    <button data-ng-click="currentpage = currentpage + 1">Click me!</button>

</div>

谁知道问题是什么?

顺便说一下,我尝试过this answer,但它没有用.

这是因为ng-repeat为每个重复元素创建了一个新范围.当你在执行currentpage = currentpage 1时,你最有可能在子范围内创建一个新变量.

检查你的范围.解决方案通常就像$parent.currentpage = $parent.currentpage 1一样简单(如果你不想重写整个事情,那就解决父作用域中的currentpage变量,sampleCtrl作用域).

另一个解决方案是创建一个增加页码的函数,这样你就不会创建任何新的子范围变量,而是从控制器继承增加函数:

<a href="#" data-ng-click="increasePage()">{{i}}</a>

在你的控制器中是这样的:

$scope.increasePage = function() {
     currentpage++;
}
相关文章
相关标签/搜索