2017-04-25 24 views
0

モジュール "testControllerModule"があり、内部にコントローラ 'myCtrl'が定義されています。このコードは、ページデータを含むテーブルデータを表示します。コントローラが動作していない/ページが読み込まれたときにトリガする。コントローラとAngular JS ng-controllerがページロードで動作しません

<div class="row"> 
    <div class="col-md-6" ng-controller="myCtrl"> 
     <h3>Open Incidents</h3> 
     <table ng-table="tableParams" class="table table-condensed table-bordered table-striped"> 
     <tr ng-repeat="row in $data"> 
      <td data-title="'Name'" sortable="'name'">{{row.name}}</td> 
      <td data-title="'Age'" sortable="'age'">{{row.age}}</td> 
      <td data-title="'Money'">{{row.money}}</td> 
     </tr> 
     </table> 
    </div> 

    </div> 

モジュール:

(function() 
{ 
    "use strict"; 
    var app=angular.module("testControllerModule", ["ngTable"]); 
    app.controller("myCtrl", myCtrl); 
    function myCtrl(NgTableParams) 
    { 
     console.info('myCtrl init'); 
     var dataset = [{ name: 'christian', age: 21 , money:100}, { name: 'anthony', age: 88, money:200 }]; 
     this.tableParams = new NgTableParams({ 
      // initial sort order 
      sorting: { name: "asc" } 
     }, { 
      dataset: dataset 
     }); 
    } 
    myCtrl.$inject = ["NgTableParams"]; 


    angular.module("testControllerModule").run(configureDefaults); 


    function configureDefaults(ngTableDefaults) { 
     ngTableDefaults.params.count = 5; 
     ngTableDefaults.settings.counts = []; 
    } 
    configureDefaults.$inject = ["ngTableDefaults"]; 
})(); 
+0

<tr ng-repeat="row in dataset"> を試すことができますあなたは 'MyCtrl'が、ビューの使用中に'宣言myCtrl '。ですから、 'ng-controller =" MyCtrl "' – Leguest

+0

をお試しください。コードを更新しました。 –

答えて

0

あなたは入れてみてくださいことができます ' - ' コントローラの前で、

<div class="col-md-6" -ng-controller="myCtrl"> 

更新回答のように:

変更できますあなたのコードは以下の通りです。

(function() 
{ 
    "use strict"; 
    var app=angular.module("testControllerModule", ["ngTable"]); 
    function myCtrl($scope,NgTableParams) 
    { 

     var dataset = [{ 
       "name": "Test1", 
       "age": 50, 
       "money": 1000 
       }, { 
       "name": "Test2", 
       "age": 51, 
       "money": 1000 
       }, { 
       "name": "Test3", 
       "age": 52, 
       "money": 1000 
       }, { 
       "name": "Test4", 
       "age": 53, 
       "money": 1000 
       }, { 
       "name": "Test5", 
       "age": 54, 
       "money": 1000 
       }, { 
       "name": "Test6", 
       "age": 55, 
       "money": 1000 
       }, { 
       "name": "Test2", 
       "age": 51, 
       "money": 1000 
       }, { 
       "name": "Test3", 
       "age": 52, 
       "money": 1000 
       }, { 
       "name": "Test4", 
       "age": 53, 
       "money": 1000 
       }, { 
       "name": "Test5", 
       "age": 54, 
       "money": 1000 
       }, { 
       "name": "Test6", 
       "age": 55, 
       "money": 1000 
       }, { 
       "name": "Test2", 
       "age": 51, 
       "money": 1000 
       }, { 
       "name": "Test3", 
       "age": 52, 
       "money": 1000 
       }, { 
       "name": "Test4", 
       "age": 53, 
       "money": 1000 
       }, { 
       "name": "Test5", 
       "age": 54, 
       "money": 1000 
       }, { 
       "name": "Test6", 
       "age": 55, 
       "money": 1000 
       }, { 
       "name": "Test2", 
       "age": 51, 
       "money": 1000 
       }, { 
       "name": "Test3", 
       "age": 52, 
       "money": 1000 
       }, { 
       "name": "Test4", 
       "age": 53, 
       "money": 1000 
       }, { 
       "name": "Test5", 
       "age": 54, 
       "money": 1000 
       }, { 
       "name": "Test6", 
       "age": 55, 
       "money": 1000 
       }]; 

     $scope.tableParams = new NgTableParams({},{dataset: dataset}); 
     console.info('myCtrl end'); 
    } 
    myCtrl.$inject = ["$scope","NgTableParams"]; 
    app.controller("myCtrl", myCtrl); 


    angular.module("testControllerModule").run(configureDefaults); 
    function configureDefaults(ngTableDefaults) { 
     ngTableDefaults.params.count = 5; 
     ngTableDefaults.settings.counts = []; 
    } 
    configureDefaults.$inject = ["ngTableDefaults"]; 
})(); 
+0

それを打つことを許可しなさい –

+0

1つのよいニュースおよび1つの悪い知らせ。良いニュース 'コントローラートリガー'と悪いニューステーブルのデータが入力されません。しかしなぜ '-ng-controller' –

+0

私の答えを更新しました。これを試すことができますか? – John

1

をコントローラに$スコープを注入するかわりに

<tr ng-repeat="row in $data"> 
+0

申し訳ありませんが、うまくいかなかった –

関連する問題