一种方式是通过事件,另一种方式是通过调用方法。我试图在我的应用程序中实现聚合模式
我有AuthService,在这里我处理auth结果并发出事件
if (auth) { this.eAuth.emit(true) } else { this.eAuth.emit(false) }
我可以在AuthComponent中订阅
_authService.eAuth.subscribe( (isAuth) => this.handleAuthResult(isAuth) )
它工作得很好。但是
正在尝试从此日志运行todo应用程序:
其代码如下:
我正在将其集成到我的测试应用程序中-我有我的路由器,并将该组件添加到我的路由器配置中:
{ path: '/todo-list', name: 'TodoList', component: TodosComponent },
这不应该破坏东西
但当我走到那条路线时,我得到了一个错误:
EXCEPTION: Template parse errors:
Can't bind to 'ngmodel' since it isn't a kno
每种植物都有一个plantid、plantname和角色。我试图从选项选择中恢复对象的整体
onChange(newValue){
console.log(newValue)
this.selectedPlant=newValue
}
{{plant.plantname}
如果我将[value]=“plant”,我会得到“[Object,Object]”。我将编写一个服务来从另一个值中获取一个值,但我觉得应该有一种更干净的方法来实现这一点 如果您想要整个plant对象,而不需要更改大部分代
我试图在其他有自己视图的组件中加载一个组件。将要加载的组件将是动态的,并且基于某些条件
我的意思是在父组件的同一位置替换另一个组件
例如,在我的AppComponent.html(下面)中,我想加载一些组件,这些组件可以再次被具有一些事件的其他组件替换
AppComponent.html
(c1和c2只是任何其他组件)
如何做到这一点?非常感谢您的帮助。如果您想在标记处加载和卸载,那么DCL(DynamicComponentLoader)应该是您的最佳选择
请参见示例。请添加一些代码来演示您试图
角度版本2.0.0-rc.4
测试组件.ts
import {Component} from '@angular/core';
Component({
selector: 'test',
templateUrl: 'templates/test.tpl.html'
})
export class TestComponent{
}
import {Component} from "@angular/core";
import {OnInit} from "@angular/
想象一下主机组件代码:
@Component({
directives: [nestedComponentDirective]
})
export class ParentComponent {
save():void {
this.myService.myHTTPCall().subscribe((event) => {
// if callback successfull we need to let dire
我目前正在使用TypeScript运行Angular 2演示。有两个文件:作为模板导入的index.html文件和TypeScript文件。TypeScript文件编译成一个pomodoro timer.js,对于这个演示,所有类都包含在一个文件中:
pomodoro定时器.ts
熟悉TypeScript的人知道我为什么会出现这些错误吗?我正在使用带有TypeScript插件的Atom IDE。1)首先,您有一个打字错误taskService,而不是taskService
2) 您不应该像这里那
我的问题是,当点击注销按钮时,ng2 idle继续工作。
为了解决这个问题,我再次设置了setIdle和setTimeout函数1秒
但是,当用户被转移到登录屏幕时,应用程序需要1秒来给出超时
我想知道在单击调用logout()函数的注销按钮后,是否有任何方法强制超时或结束ng2空闲
import {Component} from '@angular/core';
import {Router} from "@angular/router";
import {Http, Headers} fro
注意:我不使用Angular Cli
其他角度2材料组件似乎需要覆盖模块
zone.js:355未处理的承诺拒绝:./AppComponent类中出错
AppComponent-内联模板:2:2原因:没有覆盖的提供程序!
; 区域:;任务:承诺;价值:
我已经安装了angular2材料的所有软件包
sytemjs.config.js
map: {
// our app is within the app folder
app: 'dist',
...
标签: Angular
angular2-routingangular2-router
我正在尝试对路由进行访问检查,并显示拒绝访问页面,而不是实际页面。从下面的示例中,我们可以在路由单击时发出拒绝访问的警报。我希望导航到实际页面,然后显示拒绝访问
假设带有访问检查的url为/admin/manageusers,组件名称为ManageUserComponent,如果用户没有访问权限并尝试url,它应该导航到路径/admin/manageusers,但应该在页面中显示拒绝访问
1.我可以做的一件事是使用routeresolve功能,在ManageUserComponent中获取与用
我正在开发一个非常简单的Angular2应用程序,但我遇到了一个问题,浏览器将插值组件对象评估为未定义的,尽管我能够控制台。在组件中记录(此),并查看值,尽管“下面的值刚刚评估过”注释
在上下文中,我已经使用Angular2命令行工具启动了我的应用程序,但我只是松散地遵循Angular2的“英雄之旅”教程(它使用一个压缩的快速启动包来组装基本文件)
导致问题的模板是person detail.component.html,其中我有:
<div>Welcome, {{ person.n
我有下面的输入字段,当点击图标时,输入字段应该切换到另一个输入id和标签名称。再次单击时,它应再次更改。我目前已经用两个独立的*.html文件解决了这个问题,并在它们之间切换。我现在正在寻找一个更聪明的解决方案
<ion-content>
<div class="item-input-wrapper">
<ion-item>
<ion-label stacked>Your name</ion-labe
关于如何将NgStyle与真值和假值一起使用,有什么想法吗?指令等待表达式
您可以这样做:
<p [ngStyle]="{'color' : 'value == white', '!value == red' }">Hello</p>
您好
或者
您好
然后在某个地方操作这个值变量。我将尝试如下操作:
<p [ngStyle]="{ 'color': (value ? 'white' : 'red') }">Hello</p>
您好
这里
我对angular2非常陌生,我正试图使用http头传递的身份验证凭据向本地API发出REST请求;我得到了以下代码:
let headers = new Headers();
headers.append('Accept', 'application/json')
headers.append('Content-Type', 'application/json');
headers.append('Authorization',
我正在使用RXJS Observable和Angular 4
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
我的职责如下
public temp(){
return Observable.create(observer => {
this.platform.ready().then(() => {
我有以下路径,我正在尝试获取children组件的路径
const myRoutes:Routes=[
{
路径:“”,
组件:主组件
}, {
路径:':id/create',
组件:另一个组件,
儿童:[
{路径:'',重定向到:'常规信息',路径匹配:'完整'},
{路径:'常规信息',组件:GeneralInfo组件},
{路径:“另一个信息”,组件:另一个信息组件}
]
}]一年后,由于没有回答,您可以得到如下结果:
this.\u activatedRoute.snapshot.r
标签: Angular
angular-servicesangular-components
在angular文档中,它解释了父级和子级如何通过使用
可观测的RxJS主体。我们可以用EventEmitter代替RxJS吗
此任务服务示例中的主题?如果我们可以在服务中使用EventEmitter,请帮助使用EventEmitter转换此示例。我是新手
读了这些相关帖子后,我有点困惑:
有许多不同的方法来处理事件场景
EventEmitter是将子事件传递给父事件的最常用方式。假设您创建了一个子组件并单击了其中的一个按钮,您可能希望在父组件中单击事件:
按钮
共享服务(可注
我正在尝试为angular 4编写的应用程序实现搜索功能。它基本上用于显示大量数据的表。我还添加了ngrx商店。
使用应用商店实现应用程序搜索的正确方法是什么?
目前,我每次都在清除存储,用于搜索查询,然后用从后端异步调用接收到的数据填充它。我在HTML中显示这些数据。异步调用来自一个效果文件。我最近使用Angular 4和@ngrx实现了一个搜索功能。
我这样做的方式是发送一个EXECUTE_SEARCH操作,将查询字符串设置到您的存储并触发效果。该效果触发了异步调用。当异步调用返回时,我根据
我正在测试下拉切换功能。但我没办法让它工作。我还将BsDropdownModule导入了spec文件。
注意:我使用的是ngx引导
以下是我尝试过的:
Html:
<div class="btnBox" dropdown placement="bottom right">
<button class="btnIcon dropdown-toggle" dropdownToggle>
</button>
<ul class="btn
我正在为angular4使用素数树表,并且我正在尝试为奇数行和偶数行设置不同颜色的样式。我能够做到这一点,但仅限于根行,当您展开行时,它将获得其父行的行颜色
我还检查了html中生成的标记,但是没有类指示行是奇数还是偶数
我们究竟如何做呢?是的,在priming中使用treetable有一些问题。因为它是一个非常新的组件
Prime团队已经宣布,他们将在最新的里程碑中重新实现treetable。
下面是票:
他们肯定会处理这个问题,因为他们已经将我的票包括在里程碑中(我为同一个问题创建了这个里
我正在尝试使用ngx datatable包在Angular 4应用程序中显示一些数据,我对设置列宽的“强制”模式特别感兴趣。据我所知,该模式应该基于单元格内容智能地确定列宽,以便所有内容都可见。然而,这对我不起作用。这些列的宽度设置为150px,而不是它们各自的自定义宽度
这是我的表格HTML:
<ngx-datatable
[rows]="rows"
[columns]="columns"
[columnMode]="'force'"
[scrollbarV]="true
我在stackoverflow上看到了这个问题的答案,它涉及到应用程序的配置。然而,我非常确定我已经正确地配置了它,因为应用程序运行得很好,但是我的超级简单业力测试失败了
这是我的app.module.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms
我正在使用Ng引导日期选择器日历:
<ngb-datepicker #dp [(ngModel)]="model" (navigate)="date = $event.next"></ngb-datepicker>
月份在这里的下降方式是:一月、二月、三月……等等。
周日从周一、周二开始
如何更改此名称格式?
我需要显示月份:一月、二月、三月、四月。。
星期天从星期天开始,只有一个月的第一个字母
S M T W T F S
如何在不进入节点模块并在其中进行更改的情况
我想测试将返回true或false作为响应的端点的使用。不是'true',而是一个布尔值true。我正在使用@angular/common/http/testing模块。对于其他响应值,我可以使用TestResponse.flush(value),但这不适用于布尔值。相反,测试模块会抱怨
响应类型不支持自动转换为JSON
以下是我的测试代码:
const FLUSH_OK = {status: 200, statusText: 'Ok'};
//.. describe...
it('shou
我遇到了一个奇怪的问题,热模块替换在我的应用程序中运行良好有一段时间了,但在最近的某个时候,它发生了变化。它不是替换页面上的特定组件,而是将该组件附加到页面顶部,并在下面保留旧组件的副本
我在谷歌搜索了很多次,也试图弄清楚发生了什么变化,但运气很差。我的网页文件一点也没变
这是我的档案
角度4
Visual Studio 2017
.Net Core 2.0我在使用.Net Core/Angular模板时遇到过这种情况。此代码段应确保在热模块更换过程中删除旧组件并创建新组件
如果您有boot.c
我使用的是Angular 5,存在以下问题:
我有一个包含参数year的route。相关组件现在应该显示服务检索到的当年数据。当第一次路由到这样一个URL时,它工作得很好。如果我更改参数year,则不会重新加载组件(如预期的那样),只会再次调用OnInit()。在这个方法中,我试图通过调用新年服务方法来重新加载数据,但它不起作用。这是我的密码:
test.component.ts:
public ngOnInit() {
this.route.paramMap.subscribe( pa
我正在尝试为我正在构建的angular应用程序实现一种结构,每个用户都有自己的用于登录的数据集,因此每个用户都应该有自己的“费用”、“联系人”、“发票”集合
据我所知,因此应该存在id为用户uid值的文档,这些文档可以通过搜索用户数据的主集合的查询来访问。因此,在firestore控制台中的顶级“联系人”集合中,应该有标有每个用户uid的文档,这些文档随后包含他们自己可用的联系人数组
演示如下:
这看起来像是实现每个用户数据的正确方法吗?数据建模没有单一的“正确”方法。这完全取决于我们应用程序
我的应用程序中有近17个模块,与angular生成的模块相比,它们的大小可以忽略不计
chunk {common} common.chunk.js (common) 2.18 MB
chunk {main} main.bundle.js (main) 4.42 MB [initial] [rendered]
chunk {polyfills} polyfills.bundle.js (polyfills) 616 KB [initial]
我知道Angular会生成这些块来处理一些内部内容,
我正在使用mat网格列表:
因此,在文档中给出了它(您可以参考下面的链接):
添加跨多行或多列的平铺
可以使用rowspan和colspan属性分别设置每个mat栅格平铺的rowspan和colspan。如果未设置,则它们都默认为1。colspan不得超过mat栅格列表中的COL数。对rowspan没有这样的限制,但是,只需添加更多的行就可以填充平铺
但我的问题是我想要一个这样的结构:
将有三行,第一行3列、第二行4列和第三行2列。像一个拼贴框架。将动态发送每行的列数
是否有任何解决方案或替代方
我想问一下新的angular.json文件,它取代了.angular cli.json
我以前在那里重写主机值,但现在找不到如何重写它。有人遇到过同样的问题吗
除了将主机作为参数写入之外,您可以为我推荐一个解决方案吗?您可以在angular.json中的“projects”->“coreui angular”->“service”->“options”路径上实现它们
是否有人能够用简单的语言解释我们用来观察输出的正常可观察运算符和do/tap之间的区别,它们似乎具有相同的功能。我们为什么使用do/tap RxJS v6+中的do/tap运算符或tap运算符与所有其他运算符的不同之处在于,它不会以任何方式修改通过它的项。传递函数的结果不考虑进一步处理(返回类型为void)
这使得执行具有“副作用”的代码更加安全,即修改可观察管道外部状态的代码。一个典型的例子是在tap函数中使用console.log,因为调用该函数会运行改变浏览器状态的代码
另外,如果您在su
我有一个输入控件,如下所示:
当我使用键盘键入日期时,它会重置为dd/MM/yyyy。老鼠很好用。有什么建议吗?中有一整篇关于它的文章
解决方案是为日期输入控件实现一个新的值访问器:
//date-value-accessor.ts
从“@angular/core”导入{Directive,ElementRef,HostListener,Renderer,forwardRef};
从'@angular/forms'导入{ControlValueAccessor,NG_VALUE_ACCESS
我正在尝试添加多个表单字段,我想在一行中添加两个表单字段,但无法在表单字段之间添加空格(无法分隔下划线)
闪电战:
我想在“你叫什么名字”和“你好”之间留个空格
我怎样才能做到这一点?
任何帮助都将不胜感激 您可以使用flexbox解决此问题。我帮了你的忙。以下是众多解决方案之一:
模板
<li class="mat-form-field--inline">
<mat-form-field>
<input matInput [(ngMode
在ag网格事件中,例如onRowSelected(),“this”指的是网格对象。但是,我需要引用组件变量,不知道如何引用。我所做的是这样,但这是一个黑客:
initializeGridOptions() {
this.gridOptions = {
columnDefs: [
{ headerName: "Core #", field: "coreNumber", width: 100, sort: 'asc' },
onRowSelected:
标签: Angular
karma-jasminekarma-runnerangular7angular-cli-v7
angular 7+angular cli 7.1.0
将项目从5升级到7
什么时候跑
ng测试
在angular.json文件中添加了tsConfig
` "test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "test.js",
"karmaConfig": "./karma.conf.js",
标签: Angular
angular-reactive-formsangular7formarray
我有没有一种方法来获取下拉列表中所选值的文本,而不是以被动形式获取值
我的脚本如下所示:
<form [formGroup]="formGroup" formArrayName="test">
<ng-container matColumnDef="fr" formArrayName="test">
<th mat-header-cell *matHeaderCellDef> Family Rel. </th>
我使用ng generate创建了一个服务。我初始化一个数组并更改一个标志,但当我路由到另一个页面时,该数组为空,标志为false
我的服务始于
@可注入({
providedIn:'根'
})
我知道这将创建一个应用程序范围的单例服务,但我以前只在单页应用程序上使用过服务。与多页应用程序/路由不同吗
编辑:我已经尝试将字段设置为静态,但也不起作用
编辑2:这或多或少是我的问题:在主页上初始化并显示(true)。导航到admin(在主页上初始化之后)并显示(false) 我相信(从上面的stac
是否可以将IFormFile文件添加到.net core中的电子邮件附件中?我正在使用formdata从angular获取文件
for (let file of this.files) {
this.formData.append("Files", file.nativeFile);
}
MailMessage mail = new MailMessage();
SmtpClient smtp = new SmtpClient
{
Host = "
在Angular 7项目中,我有一个带有select和*ngFor块的被动表单。ngFor值根据选项中的选定值进行过滤,自定义管道负责过滤。每当我从选项中选择一个值时,我看到的都是输出。我尝试了(ngModelChange)=fun(),change事件。它们不起作用
表格:
<div class="container container-fluid">
<h3 style="text-align: center"> BCMC CyberSecurity Jobs&l
我正在创建一个具有基本凭据的基本示例用户注册应用程序。当我单击“取消”按钮时,我正在尝试重置表单。但是我无法执行此操作。我已经编写了重置函数,但不知怎么的,它没有被调用。我不知道出了什么问题。请帮助。提前谢谢
我的ts代码:
ngOnInit()
{
this.addForm = this.formBuilder.group({
id: [],
userName: ['', Validators.required],
password:new
我有一个组件,我在其中传递我想要在模态中显示的内容,如下所示:
openConfirmModal() {
this.service.openmodal(
{
buttons: [ {name: 'Close'} ]
}
);
}
模态服务如下所示:
openmodal(input: String) {
const dialogRef = this.dialog.open(popupComponent, {
尝试通过管道传输两个角度http调用,其中第二个调用仅在第一个失败时执行
第一个电话是:
return this.http.get<AssetGroupHistoryResponseModel>('./assets/data.json');
返回this.http.get('./assets/data.json');
如果data.json不存在,则会引发404 not Found错误,并应调用适当的API:
return this.http.get<AssetGroup
我有一些按钮,我存储在数据库中
但是我不知道如何使用(单击)
例如,我有一个按钮“Close”,单击该按钮可将布尔值设置为falseisVisible=false
型号:
export interface Button {
label: string;
class: string;
iconClass: string;
doJob: any;
}
<p-footer *ngIf="hasPopupButtons()">
<a (clic
我计划将一个组件更改为required,但该组件是一个共享组件,因此不会对我的HTML视图生效。如何使您的组件符合要求
register.component.html
<app-dropdown-multi-select-search fxFlex *ngIf="(register$ | async)?.skills"
[dataList]="(register$ | async)?.skills" [pl
标签: Angular
observableangular-reactive-formsreactive-formsformgroups
我有一个简单的情况。有一个包含两个字段的html表单:
名字
姓氏
我希望lastName在用户更改firstName时更改某些内容。我通过在Angular(8)中观察到的值变化来实现它
此外,我还有两个订阅用于侦听和记录更改:
一张完整的表格
一个在lastName
以下是它的实现方式:
ngOnInit(){
this.form=new FormGroup({
firstName:newformcontrol(“”,{updateOn:'blur'}),
lastName:newfo
错误:找不到模块“节点sass”
当我跑的时候
ng服务——端口
出现此错误,请尝试使用命令安装节点sass
npm install node-sass
然后得到下面的答案
(src/app/app.module.ts(40,36)中出错:错误TS2307:找不到模块'@zxing/ngx scanner')
然后我安装这个npmi@zxing/ngx-scanner@1.3.0
但这次我犯了第一个错误
错误:找不到模块“节点sass”
请帮忙,谢谢试试看
`npm install --sav
我需要显示一个可观测数据的两个属性之和。这是我的代码,请告诉我如何修复它
类型脚本类
export class Amount {
Amount1: number;
Amount2: number;
Total:number;
}
在typescript服务中:
我已经宣布了可观测的物体
export class AmountService {
public newmessageService = new BehaviorSubject(new Amount());
pub
当我们将angular版本8升级到9时,会在ng serve期间显示以下错误
渲染器已经被弃用了一段时间,最后在Angular 9中被删除。您应该迁移到渲染器2
您是否按照指南将angular从8.0升级到9个官方文档。我们可以降低版本吗?我尝试多次修改,但角度版本不变。@Ayussahu您可以通过运行npm I@angular来降级/core@8@棱角/cli@8,假设您使用的是版本8。有时,您的package.json和package-lock.json将不同步,您的项目将使用package
我使用以下AWS Amplify教程进行角度分析:
生成GraphQL API时,会收到@model指令的红色警告消息:
我正在使用WebStorm。我如何让我的编辑器不抛出这些红色警告错误?我需要安装一些@types软件包还是安装一些插件?首先,创建包含以下内容的.graphqlconfig文件:
{
"schemaPath": "schema.graphql",
"includes": ["*"],
我正在尝试将JSON数据导出到excel,excel有一个下拉列表
如果我们将数组作为单元格值传递,是否可以在excel中创建下拉列表(带选项)
我试图使用内置库XLSX来实现这一点,但如果我在单元格值中传递数组,则无法看到数据
更新:Jack提供了一个支持数据验证的ExcelJS库,但需要为此进行一些配置。
是否有任何角度库支持此功能
下面是我尝试的项目的一个例子。我想根据传递给服务的数据附加多个工作表,工作表的名称将取自对象
根据《SheetJS》(软件包:xlsx)中的说明,数据验证是一项
1 2 3 4 5 6 ...
下一页 最后一页 共 1700 页