- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在调用 API 并存储大量用户配置文件,我希望能够为每个配置文件动态创建卡片(Angular Material Design md-card)。返回的配置文件数量可能会有所不同,因此这需要是动态的。
这是我的组件文件,它发出 JSONP 请求并将配置文件存储在 profiles
变量中:
import {Component, Injectable, OnInit} from '@angular/core';
import {Jsonp} from '@angular/http';
@Component({
selector: 'app-staff',
templateUrl: './staff.component.html',
styleUrls: ['./staff.component.css']
})
@Injectable()
export class StaffComponent implements OnInit {
public searchField: string;
apiRoot = 'this/is/my/api/url';
public results: JSON;
public profiles;
constructor(private jsonp: Jsonp) {
}
ngOnInit() {
}
setSearchField(field: string){ // ignore this method
this.searchField = field;
console.log('Received field: ' + this.searchField);
}
search(term: string) {
const apiUrl = `${this.apiRoot}?search=${term}&rows=10&callback=JSONP_CALLBACK`;
return this.jsonp.request(apiUrl).map(results => { this.results = results.json(); console.log(this.results['profiles'][0]); this.profiles = results['profiles']; return results.json(); });
}
}
这是上述组件的模板,我在其中尝试使用 *ngFor
创建 md-card
列表:
<div class="container-fluid">
<div class="row justify-content-center">
<div class="col-md-auto">
<ul>
<li *ngFor="let profile of profiles">
<md-card class="example-card">
<md-card-header>
<div md-card-avatar class="example-header-image"></div>
<md-card-title>{{profile.fullName}}</md-card-title>
<md-card-subtitle>Department</md-card-subtitle>
</md-card-header>
<img md-card-image src="../assets/image.png">
<md-card-content>
<p>
This section of the card will contain information about the result being searched for. It could also be
accompanied by additional information such as links.
</p>
</md-card-content>
<md-card-actions>
<button md-button>APPLY</button>
<button md-button>GO TO xyz</button>
</md-card-actions>
</md-card>
</li>
</ul>
</div>
</div>
</div>
我的个人资料数据采用数组形式(假设数组长度不超过 10)并采用以下形式:
0: {fullName: "Foo Bar", emailAddress: "foobar@foobar.com", image: "/profile/image/foobar/foobar.jpg", phoneNumber: "99999999"},
1: {fullName: "Foo Bar1", emailAddress: "foobar1@foobar.com", image: "/profile/image/foobar1/foobar1.jpg", phoneNumber: "919999999"}
但是,没有呈现任何md-card
。我检查过 profiles
不为空。如何根据配置文件的数量动态创建卡片并使用配置文件对象中的值填充内容?
最佳答案
您可以尝试使用 rxjs
中的 BehaviorSubject
并从响应中发出配置文件。在您的模板中使用 async
管道。这将确保 Angular 的变化检测能够发现变化。
private readonly profiles$$ = new BehaviorSubject([]);
public readonly profiles$ = this.profiles$$.asObservable();
// ...
search(term: string) {
const apiUrl = `${this.apiRoot}?search=${term}&rows=10&callback=JSONP_CALLBACK`;
return this.jsonp.request(apiUrl).map(res => {
let results = res.json();
this.profiles$$.next(results.profiles);
return results;
});
}
在你的模板中:
<li *ngFor="let profile of profiles$ | async">
<!-- ... -->
</li>
顺便说一句:从组件中删除 @Injectable
装饰器,组件不应该是 injectable
。
注意:您真的应该考虑将 api 调用移动到共享服务中,这将使您的组件的逻辑保持干净,您也可以在其他组件中使用它。您也可以了解 redux
“模式”,为此您可以查看 @ngrx/store
和 @ngrx/effects
。可以在 @ngrx/platform 找到更多信息。单一 repo 。它将让您对应用程序的状态拥有巨大的控制权,并且可以更轻松地管理您的数据和控制来自外部 API 的请求/响应。
关于angular - 从 API 响应动态创建 md-card,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045819/
除了源评论之外,我找不到关于 card.io 的文档。 CardIOCreditCardInfo.h 文件具有 CardIOCreditCardType 的枚举。 typedef NS_ENUM(NS
问题 我正在制作幻灯片。当我转到下一张幻灯片时,我会增加我的卡 ID,如下所示: cardId++; $('#card-' + (cardId)).show(); 我还有另一个 on keyup 监听
这是我的卡片结构头文件: #include "stdafx.h" enum Suits {clubs, diamonds, hearts, spades}; enum Ranks {two = 2,
请问gmail登录页面的div.card.signin-card.clearfix的css代码是多少?我只是 CSS 的初学者。提前致谢。 最佳答案 尝试借助 inspect 元素。 .clear
我正在尝试修改 Flutter 示例中的 cards_demo.dart。我的目的是不是将内置的两张卡片的高度固定为: static final double height=300.0(或一些强制和固
在Twitter上发布推文https://startcrowd.club时,我无法显示图像卡 但它在Facebook上完美运行。 我想出示这张卡:http://startcrowd.club/imag
有没有办法将 io.card.payment.DataEntryActivity 的 screenOrientation 设置为横向?我试图在 list 中设置它,但应用程序因错误而崩溃
有没有办法将 io.card.payment.DataEntryActivity 的 screenOrientation 设置为横向?我试图在 list 中设置它,但应用程序因错误而崩溃
我有一个宽度小于图像宽度的 block 。此图像用 Angular Material 的指令包裹: 我想保持该图像的纵横比,但这是我得到的: http
如果我有一个Web应用程序,并且接收到Web浏览器通过POST请求通过HTTPS通过POST请求传输的信用卡数据,并立即打开一个套接字(SSL)到远程PCI兼容卡处理器以转发数据并等待响应,我是否允许
我正在尝试制作一些新闻页面,以便在 Twitter 上共享时显示带有图像 (summary_large_image) 的 Twitter 卡片。我在页面上添加了必要的元标记。验证器说一切都很好,实际上
我正在与 Stripe 客户、订阅和卡合作。 现在,我有一个场景,客户可以拥有多张卡。 现在,客户添加了一张新卡。我必须将新添加的卡标记为 default_source。 所以我正在做的是 Map p
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 2 年前。
如何比较卡列表?我收到此错误,但我不知道这意味着什么或如何修复它。我得到的错误: the type 'Card' cannot be used as type parameter 'T' in gen
我写信给你是因为我在 PC 上用 Java 编写了一个带有椭圆曲线的签名算法,我想将它集成到 Java Card 上。在我的程序中,我使用加密库 BouncyCaSTLe。 所以我的问题如下:是否可以
我正在尝试将图像与描述它的文本并排放置: 但是,我正在尝试在 Angular 垫卡中执行此操作,并且我最初尝试使用 mat-card-content 来执行此操作,但失败了,所以我求助于调用 mat
我正在使用 Bootstrap 4 构建砖石卡片组。现在我有 3 列,其中有 3 张卡片。是否可以对每一列的最后一张卡片进行寻址? 我可以用下面的代码来定位牌组的最后一张牌: card-columns
我想在 Bootstrap 卡中的图像和卡体之间有一个边框。我有一个 CSS 如下- .card{ border-width: 6px; border-color: rgb(255, 255,
{{s.header}} {{s.Desc}}
我已将此卡数据添加到 this site : 但是,当我将链接粘贴到我的 twitter 帐户时,卡片不会呈现。 htt
我是一名优秀的程序员,十分优秀!