小编Jim*_* P.的帖子

Angular 6 ngFor 按键分组的表列表

我的 Angular 6 应用程序需要显示一个表格列表,其中一个表格是对其组成元素的一组化学分析。

假设我有一个金属合金A。我对其进行了不同的化合物分析以找出其化学成分:Fe:0.001%、Cu:0.042% 等。

这是我的数据源,它只是一个带有模拟的打字稿文件

import { Certificate } from './certificate';

export const CERTIFICATES: Certificate[] = [
    { serie: '1050 AJ', ident: 'Fe', moy_certified: 0.297 },
    { serie: '1050 AJ', ident: 'Cu', moy_certified: 0.04 },
    { serie: '1050 AJ', ident: 'Mn', moy_certified: 0.0374 }, 
    { serie: 'X332.0 AC', ident: 'V', moy_certified: 0.019 },
    { serie: 'X4002 AA', ident: 'Mn', moy_certified: 0.037 }
];
Run Code Online (Sandbox Code Playgroud)

我想使用 Angular 6 在 HTML 中显示这些数据,在表格​​列表中,其中一个系列的每个分析按如下方式分组:

Serie: 1050 AJ
-------------------------
| Element | …
Run Code Online (Sandbox Code Playgroud)

angular angular6 angular-ngfor

5
推荐指数
1
解决办法
2万
查看次数

角度 6 中的异步 authguard

在以 angular 访问特定路由之前,我想提供服务器端身份验证。

我有一个实现 CanActivate 的 AuthGuard 和一个服务 AuthService。authService 已经有一个private loggedIn: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(null); 视图订阅以了解用户是否登录。我真的不知道我的方法是否错误,但它似乎不起作用。

这是我在 auth.guard.ts 中的内容:

canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) : Observable<boolean> {
    return this.authService.isAuthenticated().map((isLoggedIn) => {
        if (isLoggedIn) {
            return true;
        } else {
            this.router.navigate(['/login']);
            return false;
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

这是 auth.service.ts:

    @Injectable()
export class AuthService {
    private loggedIn: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(null);

    constructor(
        private router: Router,
        private http: HttpClient
    ) {

    }

    get isLoggedIn() {
        return this.loggedIn.asObservable();
    }

    isAuthenticated() : Observable<boolean> {
        const headers …
Run Code Online (Sandbox Code Playgroud)

angular angular6

5
推荐指数
1
解决办法
6406
查看次数

如何确定字符串是否包含在std :: vector的任何字符串中?

有一个主机名向量,我想拉出任何包含来自另一个向量的字符串的主机名.

假设我有一个包含主机名和IP地址的2D向量:

std::vector<std::vector<string>> hostnames = {{"Mike-computer","1.2.3.4"}, 
                                         {"John-computer","5.6.7.8"}, 
                                         {"Monica-computer","9.10.11.12"}};
Run Code Online (Sandbox Code Playgroud)

另一个包含目标主机名的向量:

std::vector<string> targets = {"Mike", "Sophia"};
Run Code Online (Sandbox Code Playgroud)

如果hostnames向量中的任何行包含"Mike""Sophia",则拉出其信息.在这个例子中,"Mike-Computer"因为它包含"Mike"了我的targets向量,所以会被拉掉.

我在这个帖子上找到了我可以std::find在我的targets向量上使用但如果它不是完全匹配则无法工作.它只有在我明确说明"Mike-computer"但我不知道我查询的计算机的完整主机名时才有效.

这是一段代码:

for (std::vector<std::vector<std::string>>::iterator row = hostnames.begin(); row != hostnames.end(); ++row)
{
    for (std::vector<std::string>::iterator col = row->begin(); col != row->end(); ++col)
    {
        if ((std::find(targetsList.begin(), targetsList.end(), *col) != targetsList.end()))
        {
            std::cout << *col << " is a match" << std::endl;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ string vector find

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

标签 统计

angular ×2

angular6 ×2

angular-ngfor ×1

c++ ×1

find ×1

string ×1

vector ×1