我开始将Angular 1项目转换为Angular 2,并且在设置第一个服务时遇到了一些问题。我设置了一个与我试图做的相匹配的傻瓜,它完全被轰炸了。这就是傻瓜:
https://plnkr.co/edit/oYrg68HhTihPFAcSGU8t?p=preview
在实际应用程序中,我使用了角度CLI生成器并收到以下错误:
错误:Typescript发现以下错误:
/path/to/project/tmp/broccoli_type_script_compiler-input_base_path-bvDJA9MD.tmp/0/src/app/+login/login.component.spec.ts(17,21):提供的参数与任何呼叫签名都不匹配 目标
如果那里的任何人都可以帮助我让傻瓜工作,那就太棒了!
这是规范文件,如果它有用:
/* tslint:disable:no-unused-variable */
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import {
beforeEach, beforeEachProviders,
describe, xdescribe,
expect, it, xit,
async, inject
} from '@angular/core/testing';
import { LoginComponent } from './login.component';
describe('Component: Login', () => {
it('should create an instance', () => {
let component = new LoginComponent();
expect(component).toBeTruthy();
});
});
答案 0 :(得分:0)
Here's你的plunkr修改版本正在为我工作。
似乎您需要提供TestService
,然后将其作为参数传递给构造函数。
更新了app.ts。
//our root app component
import {Component} from '@angular/core';
import {TestService} from './test.service';
@Component({
selector: 'my-app',
providers: [ TestService ],
template: `
<div>
<h2>Hello {{name}}</h2>
<p><a (click)="logIn('test-user', '123456')">Test Login</a></p>
<p>{{status}}</p>
</div>
`,
directives: []
})
export class App {
constructor(
private testService:TestService;) {
this.name = 'Pizza';
this.status = 'Sword';
}
logIn(username, password) {
this.status = this.testService.logIn(username, password);
}
}