我正在使用官方Angular2网站上的packages.json,快速入门.昨天它工作正常,今天npm无法解决家属.我收到错误:
npm ERR! peerinvalid The package @angular/core@2.0.0-rc.3 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @angular/common@2.0.0-rc.3 wants @angular/core@2.0.0-rc.3
npm ERR! peerinvalid Peer @angular/compiler@2.0.0-rc.3 wants @angular/core@2.0.0-rc.3
npm ERR! peerinvalid Peer @angular/forms@0.1.1 wants @angular/core@2.0.0-rc.3
npm ERR! peerinvalid Peer @angular/http@2.0.0-rc.3 wants @angular/core@2.0.0-rc.3
npm ERR! peerinvalid Peer @angular/platform-browser@2.0.0-rc.3 wants @angular/core@2.0.0-rc.3
npm ERR! peerinvalid Peer @angular/platform-browser-dynamic@2.0.0-rc.3 wants @angular/core@2.0.0-rc.3
npm ERR! peerinvalid Peer @angular/router@3.0.0-alpha.7 wants @angular/core@^2.0.0-rc.2
npm ERR! peerinvalid Peer @angular/router-deprecated@2.0.0-rc.2 wants @angular/core@^2.0.0-rc
npm ERR! peerinvalid Peer @angular/upgrade@2.0.0-rc.3 wants @angular/core@2.0.0-rc.3
npm ERR! peerinvalid …Run Code Online (Sandbox Code Playgroud) 我正在玩角度2教程的英雄应用程序,现在我有这个组件
import { Component, OnInit } from '@angular/core'
import { Subject } from 'rxjs/Subject';
import { Hero } from "./hero";
import { Router } from "@angular/router";
import { HeroService } from "./hero.service";
import { BehaviorSubject } from "rxjs/BehaviorSubject";
@Component({
selector: 'hero-search',
templateUrl: 'app/hero-search.component.html',
styleUrls: ['app/hero-search.component.css'],
})
export class HeroSearchComponent implements OnInit{
heroes: Hero[];
isLoading: BehaviorSubject<boolean> = new BehaviorSubject(false);
error: any;
private searchNameStream = new Subject<string>();
constructor(
private heroService: HeroService,
private router: Router
) {}
ngOnInit() {
this.searchNameStream
.debounceTime(400)
.distinctUntilChanged()
.switchMap(name …Run Code Online (Sandbox Code Playgroud) 我的项目中有一个组件调用一个服务来检索一些(本地存储的)JSON,它被映射到一个对象数组并返回给要显示的组件.我遇到的问题是视图中的绑定似乎在我第一次调用服务时没有更新,但是第二次调用服务时会更新.
组件模板:
@Component({
selector: 'list-component',
template: `
<button type="button" (click)="getListItems()">Get List</button>
<div>
<table>
<tr>
<th>
ID
</th>
<th>
Name
</th>
<th>
Job Title
</th>
</tr>
<tr *ngFor="let employee of _employees">
<td>
{{employee.id}}
</td>
<td>
{{employee.name}}
</td>
<td>
{{employee.jobTitle}}
</td>
</tr>
</table>
</div>
`,
changeDetection: ChangeDetectionStrategy.Default
})
Run Code Online (Sandbox Code Playgroud)
组件控制器类:
export class ListComponent {
_employees: Employee[];
constructor(
private employeeService: EmployeeService
) {
}
getListItems() {
this.employeeService.loadEmployees().subscribe(res => {
this._employees = res;
});
}
}
Run Code Online (Sandbox Code Playgroud)
和服务:
@Injectable()
export class EmployeeService {
constructor(
private http: …Run Code Online (Sandbox Code Playgroud) 我试过的事情:
我有以下错误日志:
[0A48:124C][2016-09-16T13:28:19]i300: Apply begin
[0A48:124C][2016-09-16T13:28:19]i010: Launching elevated engine process.
[0A48:124C][2016-09-16T13:28:19]i011: Launched elevated engine process.
[0A48:124C][2016-09-16T13:28:20]i012: Connected to elevated engine.
[0D94:0270][2016-09-16T13:28:20]i358: Pausing automatic updates.
[0D94:0270][2016-09-16T13:28:20]i359: Paused automatic updates.
[0D94:0270][2016-09-16T13:28:20]i360: Creating a system restore point.
[0D94:0270][2016-09-16T13:28:20]i362: System restore disabled, system restore point not created.
[0D94:0270][2016-09-16T13:28:20]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{e39e00c9-09be-48bb-b175-01a07b3f7538}, resume: Active, restart initiated: No, disable resume: No
[0D94:08CC][2016-09-16T13:28:20]i304: Verified existing payload: AspNetCoreModule_x64 at path: C:\ProgramData\Package Cache\{4ADC4F4A-2D55-442A-8655-FBF619F94A69}v1.0.1967\packages\aspnetcoremodule_x64_en_rc2_39.msi.
[0D94:0270][2016-09-16T13:28:20]i301: Applying execute package: AspNetCoreModule_x64, action: Repair, path: C:\ProgramData\Package Cache\{4ADC4F4A-2D55-442A-8655-FBF619F94A69}v1.0.1967\packages\aspnetcoremodule_x64_en_rc2_39.msi, …Run Code Online (Sandbox Code Playgroud) 您好,我目前正在构建一个允许多列类型的表。我希望能够像这样使用它:
<my-table [rows]="rows">
<text-column [someParameters]="here" header="text"></text-column>
<icon-column [someParameters]="here" header="icon"></icon-column>
</my-table>
Run Code Online (Sandbox Code Playgroud)
text-column并且icon-column是单独的指令。
我目前有一个名为的抽象类column,可以说text-column和icon-column可能看起来像:
export abstract class Column
{
@Input() someParameters:string;
@Input() header:string;
}
export class TextColumnDirective extends Column
{
//I do cool stuff here
}
export class IconColumnDirective extends Column
{
//I do different cool stuff
}
Run Code Online (Sandbox Code Playgroud)
我的表可能看起来像:
@Component({
selector:'my-table',
template: `
<table>
<thead>
<tr>
<th *ngFor="let column of columns">{{column.header}}</th>
</tr>
</thead>
</table>
`
})
export class MyTableComponent
{
@ContentChildren(Column) columns:QueryList<any>;
//I …Run Code Online (Sandbox Code Playgroud) 我已经在互联网上做了很多研究,但仍然无法将它们粘合在一起.我有一个angular2应用程序,带有来自HTTP的Observable数据源,并且想要使用ag-grid.问题是我只有一个加载屏幕而不是数据.我用Fiddler调查过,数据在JSON中成功加载并正确加载.这是我的代码:
order.service.ts
import { Injectable } from '@angular/core';
import { Headers, Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { Order } from './order';
@Injectable()
export class OrderService {
private ordersUrl = '(Some JSON data source via Internet)'; // URL to web api
constructor(private http: Http) { }
getOrders(): Observable<Order[]> {
return this.http.get(this.ordersUrl)
.map(this.extractData)
.catch(this.handleError);
}
save(order: Order): Observable<Order> {
if (order.id) {
//return this.put(order);
}
return this.post(order);
}
delete(order: Order) {
let headers = new …Run Code Online (Sandbox Code Playgroud) 如果我们将以下代码段作为示例:
main() {
List<int> array = [1, 2, 3, 4];
List<int> newArray = change(array);
print(array); // [99, 2, 3, 4]
print(newArray); // [99, 2, 3, 4]
print(newArray == array); // true
}
change(List<int> array) {
var newArray = array;
newArray[0] = 99;
return newArray;
}
Run Code Online (Sandbox Code Playgroud)
原始数组变异了.我期待通过将数组(对象)传递给更改函数并为其分配一个新变量,我可以避免变异.我知道built_collection库似乎是不可变集合的主要选择.是否存在任何原生方式的核心库,允许深度冻结或防止副作用(在另一个函数内的操作)?
我的所有反应形式通常包括属性和方法:
@Input()
public form: FormGroup;
public messages = VALIDATION_MESSAGES;
@Output()
public onFormSubmit: EventEmitter<any> = new EventEmitter();
@Input()
public formData;
@Input()
public controlsConfig: any;
protected abstract fb: FormBuilder;
isValidControl(controlName: string): boolean {
const control = this.form.controls[controlName];
return control.valid || control.pristine;
}
onSubmit(): void {
const form = this.form;
if(form.valid) {
this.onFormSubmit.emit(form.value);
}
}
Run Code Online (Sandbox Code Playgroud)
我在抽象课中选择了它们
export abstract class BaseReactiveForm {..}
Run Code Online (Sandbox Code Playgroud)
并继承
@Component({
selector: 'app-login-form',
templateUrl: './login-form.component.html',
styleUrls: ['./login-form.component.css']
})
export class LoginFormComponent extends BaseReactiveForm implements OnInit {
constructor(protected fb: FormBuilder) {
super(); …Run Code Online (Sandbox Code Playgroud) 我在角度2中使用HTTP请求.我想在获得HTTP响应时调用下一个进程.
示例:在表单中 选择选项值来自HTTP get Request.我希望表单页面正在加载,直到我收到select选项的响应.
获得功能
getSelectOptionValue(): any {
let area_list_url = '/select_option_list/';
this.urlGet(area_list_url).subscribe(
(response) => {
let data = response.text() ? response.json() : [{}];
if (data) {
Constant.areaList = data;
}
}
);
}
return JSON.stringify(Constant.areaList);
}
Run Code Online (Sandbox Code Playgroud)
GET功能
urlGet(url: string) {
return this._http.get(Constant.hostUrl + url, {headers: GlobalUtils.head})
.map((res)=> {
if (res.status === 200) {
console.log(res);
return res;
} else if (res.status = 201) {
return res;
}
}).catch((error)=> {
console.log(error);
if (error.status === 400) …Run Code Online (Sandbox Code Playgroud) angular ×8
typescript ×5
.net-core ×1
ag-grid ×1
angular-cli ×1
dart ×1
iis ×1
immutability ×1
mutation ×1
node.js ×1
npm ×1
object ×1
observable ×1
oop ×1