在$ index中使用ng-repeat进行ng-repeat

时间:2015-08-19 17:44:02

标签: html angularjs indexing ng-repeat angularjs-ng-click

我尝试使用$ index使用ng-click for ng-repeat for element使用$ index,如下所示:

HTML:

<div class="elementContainer" ng-repeat="element in elements" ng-click="elementUrl($index)">
    <h2>{{ element.name }}</h2>
    <p><strong>{{ element.description }}</strong></p>
</div>

JS档案:

var app = angular.module('portfolioapp', []);

app.controller('MainController', ['$scope', function($scope) {
    $scope.elements = [
                        {
                            "name": "1",
                            "description": "abcd"
                        },
                        {
                            "name":"2",
                            "description": "lmno"
                        },
                        {
                            "name": "3",
                            "description": "xyz"
                        }
                    ]

    $scope.elementUrl = function(index) {
        if (index == 0) {
            $window.location.href = 'first path';
        }
        else if (index == 3) {
            $window.location.href = 'second path';
        }
        };

    }]);

当我点击div(.elementContainer)时,网页不会被重定向到给定路径(本地路径)。
我在哪里做错了?

提前谢谢。< / p>

1 个答案:

答案 0 :(得分:2)

在你的控制器中使用$window你应该注入它

app.controller('MainController', ['$scope', '$window', function($scope,$window) {

或其他方式:使用window注意:没有$符号,而不是$window