Это состояние сохраняющегося вопрос. Самое простое решение для сохранения состояния в:
- родительского вид
- неиспользования связанного одноплодном классе (или статических переменных)
- LocalStorage сохраняющийся (возможно, совпадающий с предыдущей опцией)
Первый способ сделать это: сохранить его в родительском представлении.
Например, вы можете создать кэш внутри App
класса:
export class App {
formData = {};
configureRouter(config, router) {
{ route: ["", "dashboard"], [..snip..] settings: { formData: this.formData, icon: 'icon-home' } }
}
}
Внутри вашей точки зрения, вы можете сделать:
activate(params, routeConfig) {
this.formData = routeConfig.settings.formData;
this.icon = routeConfig.settings.icon;
}
И в HTML, просто привязать его к formData
:
<input type="text" value.bind="formData.text" />
Этот вид предполагает, тх t целое App
вращается вокруг этой формы. В противном случае на самом деле не было бы смысла хранить его там.
Это один из способов сделать это, во всяком случае (первое, что я указал в списке).
Другой способ сделать это: одиночки.
Создайте новый класс под названием AppState
или что-то в этом роде.
export class AppState {
formData = {};
}
Затем на ваш взгляд, вы должны импортировать и ввести его:
import { AppState } from './app-state';
export class YourView {
static inject = [AppState];
constructor(appState) {
this.appState = appState;
}
}
И тогда в вашем HTML, вы можете связать его следующим образом:
<input type="text" value.bind="appState.formData.text" />
Или третий способ: статический класс.
Создайте новый класс под названием AppState
или что-то в этом роде.
export class AppState {
static formData = {};
}
Затем на ваш взгляд, вы должны импортировать и ввести его: импорт {AppState} из»./ Приложение-государство ";
export class YourView {
AppState = AppState;
}
И тогда в вашем HTML, вы можете связать его следующим образом:
<input type="text" value.bind="AppState.formData.text" />
Что делать, если я хочу, чтобы все мои закладки, чтобы быть стойким состоянием и у них есть экземпляры некоторых других классов, которые я хочу сохранить, а также _Edit: _ Также не является Singleton стандартным способом работы класса – CountGradsky
Вы можете сделать одноэлементный или статический класс, чтобы сохранить все это. Позвольте мне отредактировать ответ. – Travo
Я добавил объяснения для других двух методов. Я рекомендую использовать правильно названный синглтон лично. – Travo