Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在模拟内存中存储Firestore数据_Angular_Typescript_Firebase_Google Cloud Firestore - Fatal编程技术网

Angular 在模拟内存中存储Firestore数据

Angular 在模拟内存中存储Firestore数据,angular,typescript,firebase,google-cloud-firestore,Angular,Typescript,Firebase,Google Cloud Firestore,目前,我正在使用一个包含数组的mock(你可以在下面找到代码)在我的应用程序中分发数据。我在每个需要它的组件中迭代这个数组 export const CASES: Case[] = [ { id: 0, name: 'Diesel', portfolioImage: '/assets/images/portfolio/diesel.png', image: '/assets/images/diesel.jpg', image2: '/assets/images

目前,我正在使用一个包含数组的mock(你可以在下面找到代码)在我的应用程序中分发数据。我在每个需要它的组件中迭代这个数组

export const CASES: Case[] = [
  { id: 0,
    name: 'Diesel',
    portfolioImage: '/assets/images/portfolio/diesel.png',
    image: '/assets/images/diesel.jpg',
    image2: '/assets/images/diesel/diesel-sunflower.png',
    image3: '/assets/images/diesel/diesel-cap.png',
    link: '/cases/diesel',
    header: 'black'
  },

  { id: 1,
    name: 'WeWork Berlin',
    portfolioImage: '/assets/images/portfolio/berlin.png',
    image: '/assets/images/berlin.jpg',
    image2: '/assets/images/wework/berlin-logo.png',
    image3: '/assets/images/wework/berlin-building.png',
    link: '/cases/wework',
    header: 'white'
  },

  { id: 2,
    name: 'Fritzhansen',
    portfolioImage: '/assets/images/portfolio/fritzhansen.png',
    image: '/assets/images/fritzhansen.jpg',
    image2: '/assets/images/fritzhansen/women.png',
    image3: '/assets/images/fritzhansen/chairs.jpeg',
    link: '/cases/fritzhansen',
    header: 'white'
  },

  { id: 3,
    name: 'Savum',
    portfolioImage: '/assets/images/portfolio/savum.png',
    image: '/assets/images/savum/savum-front.png',
    image2: '/assets/images/savum/savum-logo.png',
    image3: '/assets/images/savum/savum-iphone.png',
    link: '/cases/savum',
    header: 'black'
  },

  { id: 4,
    name: 'Eskay',
    portfolioImage: '/assets/images/portfolio/eskay.png',
    image: '/assets/images/eskay.jpg',
    image2: '/assets/images/eskay/front.jpg',
    image3: '/assets/images/eskay/inner.jpg',
    link: '/cases/eskay',
    header: 'black'
  },

  { id: 5,
    name: 'Diesel Fashion',
    portfolioImage: '/assets/images/portfolio/diesel-snd.png',
    image: '/assets/images/diesel-snd.png',
    image2: '/assets/images/diesel/diesel-sunflower.png',
    image3: '/assets/images/diesel/diesel-cap.png',
    link: '/cases/template',
    header: 'black'
  },

  { id: 6,
    name: 'Mobilia',
    portfolioImage: '/assets/images/portfolio/mobilia.png',
    image: '/assets/images/mobilia.jpg',
    image2: '/assets/images/mobilia/green.jpg',
    image3: '/assets/images/mobilia/pink.jpg',
    link: '/cases/mobilia',
    header: 'black'
  },

  { id: 7,
    name: 'Rarekind',
    portfolioImage: '/assets/images/portfolio/rarekind.png',
    image: '/assets/images/rarekind.jpg',
    image2: '/assets/images/rarekind/tube.png',
    image3: '/assets/images/rarekind/red.png',
    link: '/cases/rarekind',
    header: 'black'
  },
];
我想要的是用Firebase(而不是图像链接,Firebase存储?)存储此阵列,以便能够将其用作一种内容管理系统来更新条目

是否有方法将此列表与Firebase的存储结合起来插入Firestore,而不是将其插入资产文件夹以存储图像

我如何在init上读取这些数据并将其存储在此类模拟中以再次自动分发甚至可以在这样的阵列中存储图像吗

确切地说,我怎么能

  • 从存储器中取出图像及其分配的条目
  • 将此捆绑包作为单个
    案例插入到给定的模拟中
  • 我能实现这样的方法吗?还是有其他方法可以达到同样的目的

    是否有方法将此列表与Firebase的存储结合起来插入Firestore,而不是将其插入资产文件夹以存储图像

    是的,但它可能不会像你想象的那样100%工作。当您将图像上载到Firebase存储时,它会为您提供一个检索该图像的URL。然后,您可以使用JSON对象将该URL保存在Firebase Realtime DB中,该对象与您的问题中的对象非常相似。您的应用程序需要查询Firebase以检索JSON,然后对特定图像发出后续请求


    如果资产很小,您可能希望探索将图像存储为base64数据URI,但是性能是一个严重的问题,因此,YMMV。

    谢谢。您是否更愿意推荐一种不同的方法?