Slide 30
Slide 30 text
親のロー
カル変数にコンポー
ネントを持って操る
/
/ *
* c
h
i
l
d *
* /
/
@
C
o
m
p
o
n
e
n
t
(
{
s
e
l
e
c
t
o
r
:
'
c
o
u
n
t
d
o
w
n
-
t
i
m
e
r
'
, t
e
m
p
l
a
t
e
: '
<
p
>
{
{
m
e
s
s
a
g
e
}
}
<
/
p
>
' }
)
e
x
p
o
r
t c
l
a
s
s C
o
u
n
t
d
o
w
n
T
i
m
e
r
C
o
m
p
o
n
e
n
t i
m
p
l
e
m
e
n
t
s O
n
I
n
i
t
, O
n
D
e
s
t
r
o
y {
/
/
.
.
.
省略
c
l
e
a
r
T
i
m
e
r
(
) {
c
l
e
a
r
I
n
t
e
r
v
a
l
(
t
h
i
s
.
i
n
t
e
r
v
a
l
I
d
)
;
}
n
g
O
n
I
n
i
t
(
) { t
h
i
s
.
s
t
a
r
t
(
)
; }
n
g
O
n
D
e
s
t
r
o
y
(
) { t
h
i
s
.
c
l
e
a
r
T
i
m
e
r
(
)
; }
s
t
a
r
t
(
) { t
h
i
s
.
_
c
o
u
n
t
D
o
w
n
(
)
; }
s
t
o
p
(
) { t
h
i
s
.
c
l
e
a
r
T
i
m
e
r
(
)
; }
p
r
i
v
a
t
e _
c
o
u
n
t
D
o
w
n
(
) {
/
/
.
.
.
省略
}
}
/
/ *
* p
a
r
e
n
t *
*
/
/
@
C
o
m
p
o
n
e
n
t
(
{
s
e
l
e
c
t
o
r
:
'
c
o
u
n
t
d
o
w
n
-
p
a
r
e
n
t
-
l
v
'
,
t
e
m
p
l
a
t
e
: `
<
h
3
>
C
o
u
n
t
d
o
w
n t
o L
i
f
t
o
f
f (
v
i
a l
o
c
a
l v
a
r
i
a
b
l
e
)
<
/
h
3
>
<
b
u
t
t
o
n (
c
l
i
c
k
)
=
"
t
i
m
e
r
.
s
t
a
r
t
(
)
"
>
S
t
a
r
t
<
/
b
u
t
t
o
n
>
<
b
u
t
t
o
n (
c
l
i
c
k
)
=
"
t
i
m
e
r
.
s
t
o
p
(
)
"
>
S
t
o
p
<
/
b
u
t
t
o
n
>
<
d
i
v c
l
a
s
s
=
"
s
e
c
o
n
d
s
"
>
{
{
t
i
m
e
r
.
s
e
c
o
n
d
s
}
}
<
/
d
i
v
>
<
c
o
u
n
t
d
o
w
n
-
t
i
m
e
r #
t
i
m
e
r
>
<
/
c
o
u
n
t
d
o
w
n
-
t
i
m
e
r
>
`
,
d
i
r
e
c
t
i
v
e
s
: [
C
o
u
n
t
d
o
w
n
T
i
m
e
r
C
o
m
p
o
n
e
n
t
]
}
)
e
x
p
o
r
t c
l
a
s
s C
o
u
n
t
d
o
w
n
L
o
c
a
l
V
a
r
P
a
r
e
n
t
C
o
m
p
o
n
e
n
t { }