31581


AngularJSのループとフィルターを使って、テーブルを出力しています。  
そのテーブルに表示後から値を追加したいのですが、どのように追加すればいいかわかりません。

[code]

    <!DOCTYPE html>
    <html lang="en" ng-app="app">
    <head>
      <meta charset="UTF-8">
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script>
      <script src="http://code.jquery.com/jquery.js"></script>
      <script>
        var app = angular.module('app', [])
        app.controller('myController', function() {
          this.members = [
            { name: 'Toyota', score:20298 },
            { name: 'Honda', score:20302 },
            { name: 'Suzuki', score:20303 }
          ];
        });
        </script>
        <script>
        $(function(){
          $('#button_id').click(function(){
              $('#table_id tr:last').after('<tr><td>masao</td><td>00009</td></tr>');
          });
        });
        </script>
    </head>
    <body>
    <div ng-controller="myController as myCtrl">
      <input type="text" ng-model="searchText" id="area">
      <section class="list1">
        <table border="1" id="table_id">
          <tr ng-repeat="member in myCtrl.members|filter:searchText">
            <td>{{member.name}} </td><td>{{member.score}}</td>
          </tr>
        </table>
      </section>
    </div>
    <button id="button_id" type="button">button</button>
    </body>
    </html>
    
[/code]

上記のサンプルではjQueryを使い強引に値["masao",00009]を追加していますが、当然これではフィルタはかからないし、jQueryは使いたく無いのですが、どのようにangularjsで書けばいいかわかりません。  
ご存知の方いましたら、よろしくお願いします。


CC BY-SA 3.0
2017-01-03T02:31:08.573
31577
2017-01-03T03:58:09.703
8823
question
javascript angularjs
angularJsのコントローラに値を追加したい


意図に合致しているか分かりませんが、以下で同様なことができるかと思います。見当違いでしたら申し訳ございません。少しでもご参考になれば幸いです。

[code]

     <!DOCTYPE html>
    <html lang="en" ng-app="app">
    <head>
      <meta charset="UTF-8">
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script>
      <script>
        var app = angular.module('app', [])
        app.controller('myController', function() {
          this.members = [
            { name: 'Toyota', score:20298 },
            { name: 'Honda', score:20302 },
            { name: 'Suzuki', score:20303 }
          ];
          <!-- #####追加##### -->
          this.click = function(){
          this.members.push({name:'masao',score:00009});
          };
        });
        </script>
    </head>
    <body>
    <div ng-controller="myController as myCtrl">
      <input type="text" ng-model="searchText" id="area">
      <section class="list1">
        <table border="1" id="table_id">
          <tr ng-repeat="member in myCtrl.members|filter:searchText">
            <td>{{member.name}} </td><td>{{member.score}}</td>
          </tr>
        </table>
      </section>
    <!-- #####ng-clickを追加##### -->
     <button id="button_id" type="button" ng-click="myCtrl.click()">button</button>
    
    </div>
    </body>
    </html>
    
[/code]


CC BY-SA 3.0
2017-01-03T03:58:09.703
31581
2017-01-03T03:58:09.703
15549
31577
answer