Ng-Click NOT工作(角度数据表)

时间:2014-07-21 07:36:08

标签: angularjs

我的角度数据表有问题。 首先,我的代码工作得非常好,但是在我为一些列添加代码配置notSortable()后,按钮的ng-click无法正常工作,我无法修复它。你能帮帮我吗?

这是我的代码: 1 GT;文件index.html

<table datatable="ng" dt-options="dtOptions" dt-columns="dtColumns">
    <thead>
    <tr>
        <th>ID</th>
        <th>FirstName</th>
        <th>LastName</th>
        <th>Button</th>
    </tr>
    </thead>
    <tbody>
    <tr dt-rows ng-repeat="person in persons">
        <td ng-bind="person.id"></td>
        <td ng-bind="person.firstName"></td>
        <td ng-bind="person.lastName"></td>
        <td>
            <input type="button" ng-click="doClick()">
        </td>
    </tr>
    </tbody>
</table>

2&gt;文件app.js

(function(angular) {
'use strict';
angular.module('datatablesSampleApp', ['datatables']).
    controller('simpleCtrl', function($scope, $http, DTOptionsBuilder, DTColumnBuilder) {
        $scope.persons = [];
        $http.get('data.json').success(function(persons) {
            $scope.persons = persons;
        });
        $scope.doClick=function(){
            alert("Clicked button !")
        }
        $scope.dtOptions = DTOptionsBuilder.newOptions().withPaginationType('full_numbers').withDisplayLength(40);
        $scope.dtColumns = [
            DTColumnBuilder.newColumn('id').withTitle('ID').notSortable(),
            DTColumnBuilder.newColumn('firstName').withTitle('First name'),
            DTColumnBuilder.newColumn('lastName').withTitle('Last name'),
            DTColumnBuilder.newColumn('Button').withTitle('Button')
        ];

    });

})(角度);

3 个答案:

答案 0 :(得分:0)

不要使用

<input type="button" ng-click="doClick()">

而不是尝试使用:

<button type="button" ng-click="doClick()">Send</button>

答案 1 :(得分:0)

请务必使用ng-controller ='simpleCtrl'

在index.html中指定控制器

答案 2 :(得分:0)

我有同样的问题,下面是适合我的解决方案

**1. Step 1 is same , repeating for the sake of completeness**
<table datatable="ng" dt-options="dtOptions" dt-columns="dtColumns">
    <thead>
    <tr>
        <th>ID</th>
        <th>FirstName</th>
        <th>LastName</th>
        <th>Button</th>
    </tr>
    </thead>
    <tbody>
    <tr dt-rows ng-repeat="person in persons">
        <td ng-bind="person.id"></td>
        <td ng-bind="person.firstName"></td>
        <td ng-bind="person.lastName"></td>
        <td>
            <input type="button" ng-click="doClick()">
        </td>
    </tr>
    </tbody>
</table>

**Step2, In Controller, do the following**

(function(angular) {
'use strict';
angular.module('datatablesSampleApp', ['datatables']).
    controller('simpleCtrl', function($scope, $http, DTOptionsBuilder, DTColumnBuilder) {

      $scope.persons = []
     $scope.init = function() {

      $scope.dtOptions = DTOptionsBuilder.newOptions()
          .withOption('aLengthMenu', [[-1], ['All']]) // Length of how many to show per pagination.
          .withPaginationType('full_numbers')
          .withBootstrap();
          $http.get("data.json").then( function(result){
              $scope.persons = result.data
           });
     }
     $scope.init()

    });
})(angular);
相关问题