加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

作为角4的关键字?

发布时间:2020-12-17 17:59:20 所属栏目:安全 来源:网络整理
导读:目前我正在学习Angular 4引入了一个新的关键字:as. AS关键字 – 模板语法的新增功能是as关键字用于简化let语法. 我刚刚在下面的代码中实现了这个. div *ngIf="users | async as usersModel" h2{{ usersModel.name }}/h2 small{{ usersModel.age }}/small/di
目前我正在学习Angular 4引入了一个新的关键字:as.

AS关键字 – 模板语法的新增功能是as关键字用于简化let语法.

我刚刚在下面的代码中实现了这个.

<div *ngIf="users | async as usersModel">
    <h2>{{ usersModel.name }}</h2> <small>{{ usersModel.age }}</small>
</div>

对于以下问题,我无法从任何地方获得更多细节.

问题:

> users对象和userModel对象*之间有什么区别?
> as关键字的主要用途是什么?
> as和let在模板中有什么区别?

解决方法

您已准备好使用“as”关键字的最佳示例.

如果您没有使用它,您的代码将不太可读,它看起来像这样:

<div *ngIf="users | async as usersModel">
    <h2>{{ (users | async)?.name }}</h2> <small>{{ (users | async).age }}</small>
</div>

在此示例中,用户是Observable对象.感谢kayword,您可以在Observable对象上分配async管道的userModel结果. F.E.

如果用户是用户:Observable< User&gt ;;那么usersModel是用户变量上的异步管道的结果,所以它就像usersModel:User对象. 关于as和let的问题@EDIT 我不能告诉你as和let之间有什么区别,因为这是两个不同的东西. let是一个javascript变量类型,表示:

let allows you to declare variables that are limited in scope to the block

和Angular关键字一样,可以将方法/管道的结果分配给其他变量.

这是你的第一篇文章,所以我提醒一下:Angular不是编程语言,而是JavaScript框架. Angular中的大多数东西都与纯JS或TS有关.

Angular中的for循环声明是来自ECMAScript6,f.e的数组循环声明的副本.

for循环(ECMAScript6)

let iterable = [10,20,30];

for (let value of iterable) {
  console.log(value);
}

for组件模板中的循环

<div *ngFor="let user of users">

关键字as是对方法的变量结果的赋值的快捷方式,f.e为某些管道

some.pipe.ts

@Pipe({
    name: 'somePipe'
})
export class SomePipe {
    transform(value: number): number {
        return number * 2;
    }
}

使用< div * ngIf =“someValue | somePipe as otherValue”>就好像:

let otherValue = SomePipe.transform(someValue);

你懂了?

p.s:我的回答中的最后一段当然只是心理捷径.如果你想知道,ngFor和ngIf指令如何在“内部”工作,我建议你观看Nir Kaufman – Demystified Angular Directives讲座.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读