mirror of
https://github.com/openharmony/developtools_ace-ets2bundle.git
synced 2026-07-22 12:36:01 -04:00
6e6d50c142
Signed-off-by: houhaoyu <houhaoyu@huawei.com> Change-Id: Ie6bc8a1f0c89097de10ec2befecde0e319ea336d
63 lines
1.9 KiB
Plaintext
63 lines
1.9 KiB
Plaintext
/*
|
|
* Copyright (c) 2021 Huawei Device Co., Ltd.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
@Component
|
|
@Entry
|
|
struct ParentComponent {
|
|
@State countDownStartValue: number = 10; // 10 Nuggets default start value in a Game
|
|
build() {
|
|
Column() {
|
|
Text(`Grant ${this.countDownStartValue} nuggets to play.`)
|
|
Button() {
|
|
Text("+1 - Nuggets in New Game")
|
|
}.onClick(() => {
|
|
this.countDownStartValue += 1
|
|
})
|
|
Button() {
|
|
Text("-1 - Nuggets in New Game")
|
|
}.onClick(() => {
|
|
this.countDownStartValue -= 1
|
|
})
|
|
|
|
// when creatng ChildComponent, the initial value of its @Prop variable must be supplied in a named constructor parameter
|
|
// also regular costOfOneAttempt (non-Prop) variable is initialied
|
|
CountDownComponent({ count: this.countDownStartValue, costOfOneAttempt: 2 })
|
|
}
|
|
}
|
|
}
|
|
|
|
@Component
|
|
struct CountDownComponent {
|
|
|
|
@Prop count: number
|
|
costOfOneAttempt?: number
|
|
|
|
build() {
|
|
Column() {
|
|
if (this.count> 0) {
|
|
Text(`You have ${this.count} Nuggets left`)
|
|
} else {
|
|
Text("Game over!");
|
|
}
|
|
|
|
Button() {
|
|
Text("Try again")
|
|
}.onClick(() => {
|
|
this.count -= this.costOfOneAttempt;
|
|
})
|
|
}
|
|
}
|
|
}
|