directive 相关问题

许多编程语言和框架使用的“命令”概念。将此标记与语言和/或框架一起使用以指示上下文。 C / C ++预处理器是一种严重依赖指令的语言。他们称之为“pragma”。

Angular 6 - 多个子组件应该属于同一个实例

我简化了我的问题: 一些项目 我简化了我的问题: <div *ngIf="layout1" class="layout1"> <div class="sidebar-layout1"> some items </div> <child-component [something]="sth"></child-component> </div> <div *ngIf="!layout1" class="layout2"> <child-component [something]="sth"> <p>some content...</p> </child-component> </div> 我有一个父组件,它有可能是普通布局(layout1)和全屏布局(layout2)(在全屏模式下,子组件应该是全屏的)。问题是, 当我用 *ngIf 改变布局时,子组件被销毁并生成一个新的。我想要相同的实例并且不要丢失子组件的重要信息并避免一些 api 调用。 有什么方法可以实现子组件不会被破坏,或者有比 ngIf 更好的方法吗? 我只需要一个子组件实例用于父组件中的不同布局。 您可能已经注意到,如果您使用 *ngIf 隐藏元素,则会创建一个新组件。这是我们将尝试关注并尽量避免创建新组件的内容。 为此,我们可以使用“切换器布局”并将子组件作为内容传递 <app-layout-switcher [layout1]="layout1"> <ng-container> <child-component *ngIf="sth$ | async as sth; else loading" [something]="sth" > <p>some content...</p> </child-component> <ng-template #loading> <h1>Loading...</h1> </ng-template> </ng-container> </app-layout-switcher> 我添加了一个模拟 http 调用来显示加载。 在我们的app-layout-switcher组件中,我们可以根据需要在布局之间切换。我们会将 child-component 传递到模板中,以便能够在布局中重用它 <div *ngIf="layout1"> <app-layout-1> <ng-template [ngTemplateOutlet]="childComponent"></ng-template> </app-layout-1> </div> <div *ngIf="!layout1"> <app-layout-2> <ng-template [ngTemplateOutlet]="childComponent"></ng-template> </app-layout-2> </div> <ng-template #childComponent> <ng-content></ng-content> </ng-template> 现在我们可以在布局中使用模板 <header> <h1>Layout 1</h1> </header> <main> Contents in Layout 1 <div> <ng-content></ng-content> </div> </main> <footer>Layout 1 Footer</footer> 我们现在只使用组件的一个实例。为了确认这一点,我在演示中添加了一个文本字段。您会注意到切换布局时数据会保留 看这个演示 使用[hidden]属性代替反向逻辑,它将防止元素被破坏。 <div [hidden]="!layout1" class="layout1"> ... </div> <div [hidden]="layout1" class="layout2"> ... </div> 我 hidden 只是通过更改显示样式隐藏/显示带有 css 的 DOM 元素 您可以通过几个步骤实现: 使用此命令创建服务: ng generate service data-passing 在该服务中定义两个变量来保存每个组件的数据: import {Injectable} from '@angular/core'; @Injectable({ providedIn: 'root', }) export class DataPassingService { public firstComponentData; public secondComponentData; constructor() { } } 在您的组件中使用服务: import {DataPassingService} from '...'; ... constructor(public dataPassingService: DataPassingService) { } 将每个组件数据存储在相对变量中: setDate(first, second) { this.dataPassingService.firstComponentData = first; this.dataPassingService.secondComponentData = second; } 像以前一样使用*ngIf来控制组件可见性: <div *ngIf="layout1" class="layout1"> <div class="sidebar-layout1"> some items </div> <child-component [something]="dataPassingService.firstComponentData"></child-component> </div> <div *ngIf="!layout1" class="layout2"> <child-component [something]="dataPassingService.secondComponentData"> <p>some content...</p> </child-component> </div> 因为你想在两种不同的布局中显示相同/不同的细节: 实现秋田商店的状态管理 https://datorama.github.io/akita/docs/store 从父组件本身的服务中获取所需的所有数据。 将从服务接收到的数据更新到商店中。 通过在两种布局中使用查询来订阅商店。 更新用户在店内所做的最新更新

回答 4 投票 0

如何使用打字稿对 DOM 元素使用自定义指令

我在我的角度项目中创建了一个自定义指令。我想将它用于打字稿中的 DOM 元素。 如果可能的话该怎么做? 谢谢你! 我在搜索中没有找到任何有用的东西

回答 0 投票 0

Angular 2+ 指令 - 如何从相同或嵌套模板中的子指令获取 nativeElement

我正在尝试创建一个指令来使用 Angular 2+ 管理 ARIA Web 可访问的选项卡事件,但我遇到了 Angular 指令的问题。 我想要分层指令,所以我可以指定...

回答 0 投票 0

自定义指令可以使用Angular Material设置输入的占位符吗?

考虑一下我的html。 在我的自定义指令中,我想设置... ...

回答 1 投票 1

Laravel graphql Upsert指令不能如期工作.

如果我错了,请纠正我。我有两个模型 "Users "和 "Profiles "情况1:在 "Profiles "模型中,我定义了 "user_id "为主键,外键为 "users.id "protected $...

回答 1 投票 1

Angular指令返回失败的单元测试

我有一个指令numbersOnly适用于输入类型的文本框。以下是我的组件HTML

回答 1 投票 0

-Wformat-truncation错误,将2-3个字节写入2-6个字节的区域。

我有一个问题,下面的功能:std::string TimeToTimestampStr(time_t t) { tm aTm; ACE_OS::localtime_r(&t, &aTm); / YYYY年 / MM月 (2 ....

回答 1 投票 0

'HTML Collection'类型必须有一个'[Symbol.iterator]()'方法,在指令中返回一个迭代器。

我有一个地图中的指令,显示我的错误代码TS2488类型'HTML集合'必须有一个'[Symbol.iterator]()'方法,返回一个迭代器。我的map: map( ([headRow, bodyRows]: [...

回答 1 投票 1

强化访问权限--AuthDirective的缺点

我按照并使用了在https:/www.apollographql.comdocsapollo-serverschemacreating-directives#enforcing-access-permissions。它在查询和...

回答 1 投票 0

什么是汇编编程中的伪运算?

什么是汇编编程中的伪运算?我在此页面上读了一条声明:“如果特定符号出现在源代码中,但未在符号表中找到,则该符号永远不会...

回答 2 投票 3

汇编语言-指令和说明;将字节移动到

我正在处理汇编语言作业,不理解如何解决这些问题。对于第一个,我理解在某些时候我需要给出Align ...

回答 1 投票 -3

.. AVR程序集中的include指令

目前,我正在一个项目中,我必须将程序集AVR代码迁移到C代码。当然,由于它是最有效的方法,所以我是手工完成的。问题是我遇到了一个问题...

回答 2 投票 0

.asciz和.string汇编程序指令之间有什么区别?

我知道.ascii指令不会在字符串末尾添加空字符,因为.asciz指令用于此目的。但是,我不知道.string指令是否将...

回答 1 投票 9

当修改本机元素时,与ngModel绑定的变量未更新

[有一个角度指令,应该只允许输入数字。其代码如下:从“ @angular / ...

回答 1 投票 0

为什么配置设置'cfg_file_path'通过函数ini_get()返回FALSE值,而通过函数get_cfg_var()返回正确的值?

我正在Windows 10家庭单一语言64位操作系统上运行的笔记本电脑上使用PHP 7.3.5。我已经在笔记本电脑上安装了最新版本的XAMPP安装程序,该安装程序已经安装了Apache / ...

回答 1 投票 0

Angular:如何禁用指令中的事件?

我搜索了该问题几个小时。但没有答案。当用户未登录时如何禁用现有的单击事件。我有很多按钮需要更改,所以我不想更改旧的...

回答 3 投票 0

如何将指令作为参数传递给角度函数

我正在尝试捕获一个swiper事件,在这种情况下,我想知道此事件的来源,因为我在页面中有多个swiper指令。

回答 2 投票 0

AngularJS指令功能在ng-repeat内部不起作用

我正在做一个Ionic应用程序,并在其上创建了我的第一个指令。指令已正确加载,但已从模板(HTML)中加载,无法在指令控制器上执行任何功能。 ...

回答 2 投票 1

。vue文件中的我的自定义vue指令未执行

我第一次创建了Vue自定义指令。但是该指令未初始化。我尝试了一个新项目,也尝试了Codepen。我真的不知道这个问题!这是我的Vue组件:

回答 1 投票 0

缺少使用指令

C#的新手,正在尝试编写测试程序。但是,我收到以下错误:TypeTests.cs(30,41):错误CS0246:找不到类型或名称空间名称“ book”(您是否...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.