我的问题实际上是关于可观察性和棱角分明的。我在Nativescript中使用它们。
我正在开发一个Nativescript应用程序,它在同一个视图上有很多组件。我有一个叫做GameBridge的服务,这项服务正在注入所有组件。由于目前有两个绑定,我遇到了性能问题。让我画出我目前的结构。
GameBridgeService
...
GameEngine -> GameInstance -> Somethingelse -> Player
GameEngine -> Somethingelse -> Translator
GameEngine -> ModuleManager -> ModuleX
(And many more deep relations)
...
组件结构
...
GameSceneComponent - > Status
Logs
Items
Skills
Jobs
Locales
Market
(Some more things)
...
当状态组件可见时,日志不可见但仍然呈现。我无法使用ngIf,因为导航在组件更改时变慢。
目前我正在使用
将GameBridge注入所有组件constructor(public gameBridge: GameBridgeService)
使用
访问我需要的东西[ngClass]="{success: gameBridge.gameEngine.activeGame.player.getPlayerStat(req.requirement).value >= req.value}"
我想知道将数据传递给具有属性的组件是否会提高性能?我只会将 GameBridgeService 注入 GameSceneComponent 并使用@Input
<character-status [pageChangeCallback]="thePageCallback"
[name]="gameBridge.gameEngine.activeGame.player.name"
avatar="res://f1"
[health]="gameBridge.gameEngine.activeGame.player.health"
[morale]="gameBridge.gameEngine.activeGame.player.morale"
[energy]="gameBridge.gameEngine.activeGame.player.energy"
[money]="gameBridge.gameEngine.activeGame.player.money"
[job]="gameBridge.gameEngine.activeGame.player.playerJob"></character-status>
如果它无法解决我的问题,我该如何创建更好的结构?