Nativescript Angular 2双向绑定性能问题

时间:2017-09-16 12:11:44

标签: javascript angular nativescript

我的问题实际上是关于可观察性和棱角分明的。我在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>

如果它无法解决我的问题,我该如何创建更好的结构?

0 个答案:

没有答案