File tree Expand file tree Collapse file tree 4 files changed +33
-4
lines changed Expand file tree Collapse file tree 4 files changed +33
-4
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ const CHECKBOX_VALUE_ACCESSOR = new Provider(
70
70
} )
71
71
export class Checkbox {
72
72
private _checked : boolean = false ;
73
+ private _init : boolean ;
73
74
private _disabled : boolean = false ;
74
75
private _labelId : string ;
75
76
private _fn : Function ;
@@ -127,7 +128,9 @@ export class Checkbox {
127
128
private _setChecked ( isChecked : boolean ) {
128
129
if ( isChecked !== this . _checked ) {
129
130
this . _checked = isChecked ;
130
- this . change . emit ( this ) ;
131
+ if ( this . _init ) {
132
+ this . change . emit ( this ) ;
133
+ }
131
134
this . _item && this . _item . setCssClass ( 'item-checkbox-checked' , isChecked ) ;
132
135
}
133
136
}
@@ -185,6 +188,13 @@ export class Checkbox {
185
188
*/
186
189
onTouched ( ) { }
187
190
191
+ /**
192
+ * @private
193
+ */
194
+ ngAfterContentInit ( ) {
195
+ this . _init = true ;
196
+ }
197
+
188
198
/**
189
199
* @private
190
200
*/
Original file line number Diff line number Diff line change @@ -42,6 +42,14 @@ class E2EApp {
42
42
this . grapeDisabled = ! this . grapeDisabled ;
43
43
}
44
44
45
+ appleChange ( ev ) {
46
+ console . log ( 'appleChange' , ev ) ;
47
+ }
48
+
49
+ bananaChange ( ev ) {
50
+ console . log ( 'bananaChange' , ev ) ;
51
+ }
52
+
45
53
kiwiChange ( ev ) {
46
54
console . log ( 'kiwiChange' , ev ) ;
47
55
this . kiwiValue = ev . checked ;
Original file line number Diff line number Diff line change 19
19
20
20
< ion-item >
21
21
< ion-label > Apple, ngControl</ ion-label >
22
- < ion-toggle ngControl ="appleCtrl "> </ ion-toggle >
22
+ < ion-toggle ngControl ="appleCtrl " (change) =" appleChange($event) " > </ ion-toggle >
23
23
</ ion-item >
24
24
25
25
< ion-item >
26
26
< ion-label > Banana, ngControl</ ion-label >
27
- < ion-toggle ngControl ="bananaCtrl "> </ ion-toggle >
27
+ < ion-toggle ngControl ="bananaCtrl " (change) =" bananaChange($event) " > </ ion-toggle >
28
28
</ ion-item >
29
29
30
30
< ion-item >
Original file line number Diff line number Diff line change @@ -80,6 +80,7 @@ const TOGGLE_VALUE_ACCESSOR = new Provider(
80
80
} )
81
81
export class Toggle implements ControlValueAccessor {
82
82
private _checked : boolean = false ;
83
+ private _init : boolean ;
83
84
private _disabled : boolean = false ;
84
85
private _labelId : string ;
85
86
private _activated : boolean = false ;
@@ -191,9 +192,12 @@ export class Toggle implements ControlValueAccessor {
191
192
* @private
192
193
*/
193
194
private _setChecked ( isChecked : boolean ) {
195
+ console . debug ( '_setChecked' )
194
196
if ( isChecked !== this . _checked ) {
195
197
this . _checked = isChecked ;
196
- this . change . emit ( this ) ;
198
+ if ( this . _init ) {
199
+ this . change . emit ( this ) ;
200
+ }
197
201
this . _item && this . _item . setCssClass ( 'item-toggle-checked' , isChecked ) ;
198
202
}
199
203
}
@@ -248,6 +252,13 @@ export class Toggle implements ControlValueAccessor {
248
252
*/
249
253
onTouched ( ) { }
250
254
255
+ /**
256
+ * @private
257
+ */
258
+ ngAfterContentInit ( ) {
259
+ this . _init = true ;
260
+ }
261
+
251
262
/**
252
263
* @private
253
264
*/
You can’t perform that action at this time.
0 commit comments