Angular.js ng-click无效

时间:2017-10-27 11:00:32

标签: angularjs

ng-click属性未触发提供的功能。

HTML:

<div class="row">
        <div style="display:inline-block;width:20%;height:25%;margin:20px;"  ng-repeat="news in dailyNews" >
            <div class="thumbnail" ng-click="showNews({{news.id}})">
                <img src="{{news.image}}" alt="images/noimg.jpg" style="width:100%">
                <div class="caption" >
                    <h3  >{{news.heading}}</h3>
                </div>
            </div>
        </div>
    </div>

路线脚本:

.state('dashboard.user',{
        url:'/user-dashboard',
        templateUrl:'views/user.html',
        controller:'userPanelCtrl'
    })

控制器:

.controller('userPanelCtrl',function($state,$scope,userServices){
            userServices.checkSession();
            $scope.showNews = function(id){
                localStorage.setItem("show-news",id);
            }
        })

我成功获取数据并使用ng-repeat将它们加载到html页面但是ng-click对任何重复的div都不起作用。提前谢谢。

2 个答案:

答案 0 :(得分:3)

请更改此行:

<div class="thumbnail" ng-click="showNews({{news.id}})">

<div class="thumbnail" ng-click="showNews(news.id)">

ng-click是angularjs指令,因此您不需要像{{}}那样编写news.id,您可以直接传递,因为它会识别您的函数showNews,同样它也会识别您的user.id。

答案 1 :(得分:1)

您不必将表达式作为参数传递,只需删除 {{}}

发件人

 <div class="thumbnail" ng-click="showNews({{news.id}})">

 <div class="thumbnail" ng-click="showNews(news.id)">