小编Pat*_*son的帖子

调用NgbModal open方法的最佳实践

使用NgbModal并且想要触发open方法 - > open(content: string | TemplateRef<any>, options: NgbModalOptions)< - 来自除模板代码之外的其他地方.在我的情况下,我想在我的组件的.ts文件中运行方法时传递一个字符串作为参数.当通过html文件中的按钮运行方法时,如下所示:<button (click)="open(content)">Launch demo modal</button>代码工作得很好,当然还有<template></template>html文件中的所有代码.

试着用这个来完成一些事情:

logoutScreenOptions: NgbModalOptions = {
    backdrop: 'static',
    keyboard: false
};

lockedWindow: NgbModalRef;

lockedScreenContent= `
    <template #content let-c="close" let-d="dismiss">
        <div class="modal-header" style="text-align: center">
            <h3 class="modal-title">Title</h3>
        </div>
        <div class="modal-body">
            <p>Body</p>
        </div>
        <div class="modal-footer">
            <p>Footer</p>
        </div>
    </template>
`;

openLockedScreen(){
    this.open(this.lockedScreenContent);
}

open(content) {
    console.log(content);
    this.lockedWindow = this.modalService.open(content, this.logoutScreenOptions);
    this.lockedWindow.result.then((result) => {
        this.closeResult = `Closed with: ${result}`;
    }, (reason) => {
        this.closeResult = …
Run Code Online (Sandbox Code Playgroud)

modal-dialog ng-bootstrap angular

11
推荐指数
2
解决办法
4万
查看次数

watchQuery (Angular-Apollo) 的缓存管理

我在使用 Apollo 和 Angular 2 结合分页、预取和重新获取数据时遇到了问题。我在应用程序中的预期行为是服务器和客户端之间的数据永远不应该有任何差异。我想通过在菜单中预取鼠标上的数据来减少用户的加载时间,并在每个组件中都有一个微调器/加载屏幕来隐藏内容,直到数据被获取。如果已经访问了一个组件,我想在鼠标悬停时触发重新获取而不是预取,以便客户端与服务器匹配。

今天,如果我导航到一个组件并分页到,例如,显示该组数据的第三页,然后导航到另一个组件,然后再次返回到第一个组件(在获取新数据之前)我得到在订阅获得“正确”数据之前,来自第三页的缓存数据会触发微调器隐藏和错误的数据集显示一/几秒。

我的问题是:有什么方法可以清除/控制特定查询/watchQuery 的缓存,以便我始终确保不在客户端显示缓存数据?

apollostack apollo-client angular

3
推荐指数
1
解决办法
3566
查看次数