Questions tagged «angular»

有关Angular(不要与AngularJS混淆)的问题,它是Google的网络框架。将此标签用于并非特定于单个版本的角度问题。对于较旧的AngularJS(1.x)Web框架,请使用angularjs标记。

10
Angular将回调函数作为@Input传递给子组件,类似于AngularJS的方式
AngularJS具有&参数,您可以在其中将回调传递给指令(例如AngularJS的回调方式。是否可以将回调作为@InputAngular Component的传递(如下所示)? AngularJS呢? @Component({ selector: 'suggestion-menu', providers: [SuggestService], template: ` <div (mousedown)="suggestionWasClicked(suggestion)"> </div>`, changeDetection: ChangeDetectionStrategy.Default }) export class SuggestionMenuComponent { @Input() callback: Function; suggestionWasClicked(clickedEntry: SomeModel): void { this.callback(clickedEntry, this.query); } } <suggestion-menu callback="insertSuggestion"> </suggestion-menu>

21
TypeScript-的Angular Framework错误-“没有将exportAs设置为ngForm的指令”
使用TypeScript的Angular2-forms框架时,我不断收到此错误: 没有directive将“ exportAs”设置为“ ngForm”的情况 这是我的代码 项目依赖项: "dependencies": { "@angular/common": "2.0.0-rc.6", "@angular/compiler": "2.0.0-rc.6", "@angular/core": "2.0.0-rc.6", "@angular/forms": "2.0.0-rc.6", "@angular/http": "2.0.0-rc.6", "@angular/platform-browser": "2.0.0-rc.6", "@angular/platform-browser-dynamic": "2.0.0-rc.6", "@angular/router": "3.0.0-rc.2", "ng2-bootstrap": "^1.1.1", "reflect-metadata": "^0.1.8", "core-js": "^2.4.0", "es6-module-loader": "^0.17.8", "rxjs": "5.0.0-beta.11", "systemjs": "0.19.27", "zone.js": "0.6.17", "jquery": "3.0.0", } 这是登录模板: <form #loginForm="ngForm" (ng-submit)="authenticate(loginForm.value)"> </form> ...以及登录组件: import { Component …

10
Angular中的全球事件
有没有相当于$scope.emit()或$scope.broadcast()在角? 我知道该EventEmitter功能,但是据我了解,这只会向父HTML元素发出一个事件。 如果我需要在FX之间进行通信该怎么办。兄弟姐妹还是DOM根目录中的组件与嵌套在多个级别中的元素之间?
224 angular  events 

3
带有用户单击所选组件的动态选项卡
我正在尝试设置一个选项卡系统,允许组件注册自己(带有标题)。第一个选项卡就像一个收件箱,有很多操作/链接项可供用户选择,并且这些单击中的每一个都应能够在单击时实例化一个新组件。操作/链接来自JSON。 然后,实例化的组件将自己注册为新选项卡。 我不确定这是否是“最佳”方法?到目前为止,我所见的唯一指南仅针对静态标签,这无济于事。 到目前为止,我只获得了tabs服务,该服务已在main中引导,可以在整个应用程序中持久保存。看起来像这样: export interface ITab { title: string; } @Injectable() export class TabsService { private tabs = new Set<ITab>(); addTab(title: string): ITab { let tab: ITab = { title }; this.tabs.add(tab); return tab; } removeTab(tab: ITab) { this.tabs.delete(tab); } } 问题: 我如何在收件箱中有一个动态列表来创建新的(不同的)标签?我有点猜测DynamicComponentBuilder会用到吗? 如何通过收件箱(单击)创建组件,将其自身注册为选项卡并显示出来?我在猜测ng-content,但找不到有关如何使用它的太多信息 编辑:试图澄清。 将收件箱视为邮件收件箱。项目以JSON格式获取,并显示多个项目。单击其中一项后,将创建一个带有该项操作“类型”的新标签。然后,该类型就是一个组件。 编辑2: 图片。

4
EventEmitter的正确用法是什么?
我已经读过诸如CustomHttp内的Access EventEmitter Service之类的问题 ,其中用户在其服务中使用EventEmitter,但在此注释中建议他 不要使用它,而应在其服务中直接使用Observables。 我还读了这个 问题 ,解决方案建议将EventEmitter传递给孩子并订阅它。 然后我的问题是:我应该还是不应该手动订阅EventEmitter?我应该如何使用它?

3
SystemJS和Webpack有什么区别?
我正在创建我的第一个Angular应用程序,我将弄清楚模块加载器的作用是什么。为什么我们需要它们?我试图在Google上进行搜索,但我不明白为什么我们需要安装其中之一来运行我们的应用程序? 仅使用它import从节点模块中加载内容就不够了吗? 我已经按照本教程(使用SystemJS)进行了学习,它使我可以使用systemjs.config.js文件: /** * System configuration for Angular samples * Adjust as necessary for your application needs. */ (function(global) { // map tells the System loader where to look for things var map = { 'app': 'transpiled', // 'dist', '@angular': 'node_modules/@angular', 'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 'rxjs': 'node_modules/rxjs' }; // packages tells …

24
Angular和Typescript:找不到名称
我将Angular(版本2)与TypeScript(版本1.6)一起使用,并且在编译代码时出现以下错误: Error TS2304: Cannot find name 'Map'. node_modules/angular2/src/core/change_detection/parser/locals.d.ts(4,42): Error TS2304: Cannot find name 'Map'. node_modules/angular2/src/core/facade/collection.d.ts(1,25): Error TS2304: Cannot find name 'MapConstructor'. node_modules/angular2/src/core/facade/collection.d.ts(2,25): Error TS2304: Cannot find name 'SetConstructor'. node_modules/angular2/src/core/facade/collection.d.ts(4,27): Error TS2304: Cannot find name 'Map'. node_modules/angular2/src/core/facade/collection.d.ts(4,39): Error TS2304: Cannot find name 'Map'. node_modules/angular2/src/core/facade/collection.d.ts(7,9): Error TS2304: Cannot find name 'Map'. node_modules/angular2/src/core/facade/collection.d.ts(8,30): …

8
角度-组件中module.id的含义是什么?
在Angular应用中,我已经看到@Component具有property moduleId。这是什么意思? 当module.id未在任何地方定义时,该应用程序仍然可以运行。它仍然如何工作? @Component({ moduleId: module.id, selector: 'ng-app', templateUrl: 'app.component.html', styleUrls: ['app.component.css'], directives: [AppComponent] });


14
Angular2如果在表单标签中使用ngModel,则必须设置name属性或表单
我从Angular 2中收到此错误 core.umd.js:5995例外:未捕获(已承诺):错误:app / model_exposure_currencies / model_exposure_currencies.component.html:57:18中的错误是由于:如果在表单标签中使用ngModel,则必须将name属性设置为set或表单控件必须在ngModelOptions中定义为“独立”。 Example 1: <input [(ngModel)]="person.firstName" name="first"> Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}"> <td *ngFor="let lag of ce.lags"> <div class="form-group1"> <input name="name" [(ngModel)]="lag.name" [ngModelOptions]="{standalone: true}" class="form-control" pattern="[0-9]*(\.[0-9]+)?" required> </div> </td> 这就是我使用表单标签的方式: <form #f="ngForm" (ngSubmit)="onSubmit()">

14
* ngIf中的@ViewChild
题 @ViewChild显示模板中的相应元素后,最优雅的方法是什么? 下面是一个例子。还提供柱塞。 模板: <div id="layout" *ngIf="display"> <div #contentPlaceholder></div> </div> 零件: export class AppComponent { display = false; @ViewChild('contentPlaceholder', {read: ViewContainerRef}) viewContainerRef; show() { this.display = true; console.log(this.viewContainerRef); // undefined setTimeout(()=> { console.log(this.viewContainerRef); // OK }, 1); } } 我有一个默认情况下隐藏其内容的组件。当有人调用show()method时,它变得可见。但是,在Angular 2更改检测完成之前,我无法引用viewContainerRef。我通常将所有必需的动作包装成setTimeout(()=>{},1)上述所示。有没有更正确的方法? 我知道有一个选项ngAfterViewChecked,但它会导致太多无用的调用。 答案(柱塞)

6
将承诺转化为可观察的
我试图把头围在可观察物上。我喜欢可观测技术解决开发和可读性问题的方式。如我所读,好处是巨大的。 HTTP和集合上的可观察对象似乎很简单。我怎样才能将这样的东西转换为可观察的模式。 这是从我的服务组件提供身份验证的。我希望它可以像Angular2中的其他HTTP服务一样工作-支持数据,错误和完成处理程序。 firebase.auth().createUserWithEmailAndPassword(email, password) .then(function(firebaseUser) { // do something to update your UI component // pass user object to UI component }) .catch(function(error) { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; // ... }); 在这里的任何帮助将不胜感激。我唯一的替代解决方案是创建EventEmitter。但是我想这是在服务部分做事的糟糕方法

15
Angular 2单元测试:找不到名称“描述”
我正在从angular.io关注本教程 正如他们所说,我已经创建了hero.spec.ts文件来创建单元测试: import { Hero } from './hero'; describe('Hero', () => { it('has name', () => { let hero: Hero = {id: 1, name: 'Super Cat'}; expect(hero.name).toEqual('Super Cat'); }); it('has id', () => { let hero: Hero = {id: 1, name: 'Super Cat'}; expect(hero.id).toEqual(1); }); }); 单元测试就像一个魅力。问题是:我看到一些错误,这些错误在教程中提到: 我们的编辑器和编译器可能会抱怨他们不知道是什么it ,expect因为它们缺少描述Jasmine的键入文件。我们现在可以忽略那些烦人的投诉,因为它们是无害的。 他们确实忽略了它。即使这些错误是无害的,当我收到很多错误时,在我的输出控制台中看起来也不是很好。 …



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.