如何在视图加载时重置模型数据

时间:2018-03-21 13:58:34

标签: angular typescript ionic-framework

假设我有一个用户模型

export interface Users {
    user_id:number;
    email: string;
    forename:string;
    surname:string;
    username:string;
    dob:Date;
    telephone:string;
}

我有一些模拟数据

import { Users } from '../../models/Users';
let list: Users[] = [
    {
        user_id:1,
        email: 'test@tester.com',
        forename:'Joe',
        surname:'Bloggs',
        username:'Joe',
        dob:new Date,
        telephone:'0151111111',
    }
];

export let userList = list;

我正在将用户模型导入我的ts文件并将其存储在像这样的变量

import { userList } from '../../mocks/Users/Users';
import { Users } from '../../models/Users';

let usersList: Users[] = userList; 

如果我然后编辑了我新创建的usersList变量,就像这样

this.usersList[1].email = 'newemail@test.com';

当视图加载时,我如何将此变量实际重置为原始模拟数据?目前,每当我离开页面并返回页面时,newemail@test.com都是持久的,但每次加载页面时,我都希望能够将其重置为{{{}的原始模拟数据电子邮件。 1}}

1 个答案:

答案 0 :(得分:1)

创建一个返回数组的函数。

import { Users } from '../../models/Users';

export const createUserList = (): User[] => [
    {
        user_id:1,
        email: 'test@tester.com',
        forename:'Joe',
        surname:'Bloggs',
        username:'Joe',
        dob:new Date,
        telephone:'0151111111',
    }
];

在您的组件中

let usersList: Users[] = createUserList();