Я начинаю преобразовывать проект Angular 1 в Angular 2, и у меня возникли проблемы с настройкой моей первой службы. Я создал plunkr, который соответствует тому, что я пытаюсь сделать, и он полностью проваливается. Вот плункер:
https://plnkr.co/edit/oYrg68HhTihPFAcSGU8t?p=preview
В реальном приложении я использую генератор углового интерфейса командной строки и получаю следующую ошибку:
Ошибка: Typescript обнаружил следующие ошибки:
/path/to/project/tmp/broccoli_type_script_compiler-input_base_path-bvDJA9MD.tmp/0/src/app/+login/login.component.spec.ts (17, 21): предоставленные параметры не соответствуют ни одной сигнатуре вызова цель.
Если бы кто-нибудь мог помочь мне заставить Plunkr работать, было бы здорово!
Вот спецификационный файл, если он полезен:
/* 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();
});
});
1 ответ
Вот измененная версия вашего 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);
}
}
Похожие вопросы
Новые вопросы
typescript
TypeScript — это типизированный надмножество JavaScript, транспилируемое в обычный JavaScript. Он добавляет в JavaScript необязательные типы, классы, интерфейсы и модули. Этот тег предназначен для вопросов, специфичных для TypeScript. Он не используется для общих вопросов по JavaScript.
LoginComponent
нужны аргументы?