ng-click不在ng-repeat中工作

时间:2018-03-08 08:32:03

标签: angularjs angularjs-ng-click

NG-click不在ng -repeat中触发。我想使用ngclick只显示特定的元素细节。

<body ng-app="mainApp" >
     <div ng-app = "mainApp" class="container" ng-controller="TableFilterController">
    <table ng-app = "mainApp" class ="table table-hover"> 
    <tr><th>Id</th><th>Name</th><th>Age</th><th>Role</th></tr>
        <tr ng-repeat="p in details "><td>{{ $index + 1 }}</td><td><a  ng-click="clickMe()">{{p.name}}</a></td><td>{{p.age}}</td><td>{{p.mass}}</td></tr>
    </table>

        </div>
    </body>

JS:

var mainApp= angular.module("mainApp", []);

    mainApp.controller('TableFilterController', function($scope) {
    $scope.clickMe = function(){
       alert("hey");
    }

3 个答案:

答案 0 :(得分:0)

请尝试删除表格标记中的ng-appng-app以便申请,只有在您可以使用它之后。 也不需要点击事件的标记,因为标记具有href属性。 使用button标记或任何其他标记,而不是tag

答案 1 :(得分:0)

可能有不同的情景: 1.删​​除重复的ng-app。

2.使用此一次,这将测试控制器是否正在调用onload

   mainApp.controller('TableFilterController', function($scope) {
   alert("its Calling");
 $scope.clickMe = function(){
       alert("hey");
    }
  1. 检查您是否在路由中提到了控制器名称。 4.检查您的文件的代码是否正在浏览器中加载。
  2. 首先检查这些点,否则尝试创建plunker,以便每个人都可以查看您的代码。

答案 2 :(得分:0)

请尝试以下代码。您的代码中存在一些问题。

代码中的isseus如下

  
      
  1. 您提供的脚本不完整。有一些缺失},]和)

  2.   
  3. 删除不需要的ng-app。它不会产生任何问题,但多次包含相同的ng-app属性并不是一个好习惯。

  4.   
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
</head>
<body ng-app="mainApp">
<div class="container" ng-controller="TableFilterController">
    <table class="table table-hover">
        <tr><th>Id</th><th>Name</th><th>Age</th><th>Role</th></tr>
        <tr ng-repeat="p in details "><td>{{ $index + 1 }}</td><td><a ng-click="clickMe()">{{p.name}}</a></td><td>{{p.age}}</td><td>{{p.mass}}</td></tr>
    </table>

</div>
<script src="../lib/angular.js"></script>
<script>
    var mainApp= angular.module("mainApp", []);
    mainApp.controller('TableFilterController', function ($scope) {
        $scope.details = [{ "name": "A1", "age": 10, "mass": 20, },
        { "name": "A2", "age": 15, "mass": 30, },
        { "name": "A3", "age": 20, "mass": 40, },
        { "name": "A4", "age": 30, "mass": 60, }]
        $scope.clickMe = function () {
            alert("hey");
        }
    });
</script>