回答編集履歴

6

追記

2017/04/10 07:58

投稿

akabee
akabee

スコア1947

test CHANGED
@@ -98,6 +98,10 @@
98
98
 
99
99
 
100
100
 
101
+ ng-repeat="item in tC.items"というところがポイントで、items配列の中の要素であるitemがng-repeat内で自由に使うことができるようになっています。
102
+
103
+
104
+
101
105
  ![イメージ説明](ca4061f88c9469039725607b856b12ff.jpeg)
102
106
 
103
107
 

5

画像追加

2017/04/10 07:58

投稿

akabee
akabee

スコア1947

test CHANGED
@@ -98,6 +98,10 @@
98
98
 
99
99
 
100
100
 
101
+ ![イメージ説明](ca4061f88c9469039725607b856b12ff.jpeg)
102
+
103
+
104
+
101
105
  ```HTML
102
106
 
103
107
  <body>

4

追記

2017/04/10 07:56

投稿

akabee
akabee

スコア1947

test CHANGED
@@ -77,3 +77,97 @@
77
77
  });
78
78
 
79
79
  ```
80
+
81
+
82
+
83
+ ※追記
84
+
85
+
86
+
87
+ 不定の要素を画面上で追加し、それぞれの要素をalertする処理
88
+
89
+
90
+
91
+ 上のインプットに値を入力し、pushボタンを押すと、値がJavaScript上で追加されていきます。
92
+
93
+ 同時に、pushボタンの下に入力した値+alertというボタンが出てきます。
94
+
95
+ alertをクリックすると、それぞれの要素の値がalertされます。
96
+
97
+ こんな感じのことをしたいのではないかと思っていますがいかがですか。コードはかなり簡略に記載しましたが解説は必要ですか。
98
+
99
+
100
+
101
+ ```HTML
102
+
103
+ <body>
104
+
105
+ <div ng-controller="testController as tC">
106
+
107
+
108
+
109
+ <p><input type="text" ng-model="tC.value"></p>
110
+
111
+ <p><input type="button" value="push" ng-click="tC.addValue()"></p>
112
+
113
+
114
+
115
+ <div ng-repeat="item in tC.items">
116
+
117
+ <p>{{item.value}}<input type="button" value="alert" ng-click="tC.alertValue(item)"></p>
118
+
119
+ </div>
120
+
121
+ </div>
122
+
123
+ </body>
124
+
125
+ ```
126
+
127
+ ```JavaScript
128
+
129
+ var app = angular.module(app, []);
130
+
131
+
132
+
133
+ app.controller("testController", function(){
134
+
135
+
136
+
137
+ this.value = null;
138
+
139
+
140
+
141
+ this.items = [];
142
+
143
+
144
+
145
+ this.addValue = function(){
146
+
147
+
148
+
149
+ item = {value: this.value}
150
+
151
+
152
+
153
+ this.items.push(item);
154
+
155
+ }
156
+
157
+
158
+
159
+ this.alertValue = function(item){
160
+
161
+ alert(item.value);
162
+
163
+ }
164
+
165
+
166
+
167
+ });
168
+
169
+ ```
170
+
171
+
172
+
173
+

3

追記

2017/04/10 07:54

投稿

akabee
akabee

スコア1947

test CHANGED
@@ -42,6 +42,10 @@
42
42
 
43
43
  ng-repeatの使い方の例です。
44
44
 
45
+ この例では要素数は不定ではありませんが、要素数が増えるとその分HTMLに要素が増えていきます。
46
+
47
+ それぞれの要素に対してng-modelも使えます。
48
+
45
49
 
46
50
 
47
51
  ```HTML

2

ng-repeatについて追記

2017/04/10 03:45

投稿

akabee
akabee

スコア1947

test CHANGED
@@ -33,3 +33,43 @@
33
33
  }
34
34
 
35
35
  ```
36
+
37
+
38
+
39
+ ※追記
40
+
41
+
42
+
43
+ ng-repeatの使い方の例です。
44
+
45
+
46
+
47
+ ```HTML
48
+
49
+ <div ng-controller="testController as tC">
50
+
51
+ <div ng-repeat="value in tC.values">
52
+
53
+ <p><input type="text" ng-model="value"></p>
54
+
55
+ </div>
56
+
57
+ </div>
58
+
59
+ ```
60
+
61
+
62
+
63
+ ```javascript
64
+
65
+ var app = angular.module(app, []);
66
+
67
+
68
+
69
+ app.controller("testController", function(){
70
+
71
+ this.values = [0,1,2]
72
+
73
+ });
74
+
75
+ ```

1

追記

2017/04/10 03:43

投稿

akabee
akabee

スコア1947

test CHANGED
@@ -1,6 +1,14 @@
1
1
  ng-modelはcontrollerのプロパティをあたかもHTMLに紐づいているように同期させる機能です。
2
2
 
3
3
  JavaScriptでプロパティを設定し、HTMLでどのタグにどのプロパティが紐づくのかを設定します。このときに、HTML側のタグに記載するのがng-modelです。
4
+
5
+
6
+
7
+ もしjs側で作る要素に対してng-modelを使いたいということであれば、作る要素をHTMLのタグにあらかじめ設定しておけば良いかと思います。
8
+
9
+
10
+
11
+ 意図に沿った回答でしょうか。
4
12
 
5
13
 
6
14