Typescript 编译器错误 - 提供的参数与调用目标的任何签名都不匹配
Typescript compiler error - supplied parameters do not match any signature of call target
Typescript 编译器 - 提供的参数与调用目标的任何签名都不匹配。
我正在使用 typescript 创建一个 angular2 应用程序。
当我将实例设置为 firebase 时,它在 git bash 命令行中给出了这个错误:"supplied parameters do not match any signature of call target".
它抱怨这行代码说:
this.data = new AngularFire(new Firebase('https://markng2.firebaseio.com/users'));
这是 app.ts 文件的代码:
import {Component, View, bootstrap, bind, provide} from 'angular2/angular2';
import {Router, ROUTER_BINDINGS, RouterOutlet, RouteConfig, RouterLink, ROUTER_PROVIDERS, APP_BASE_HREF} from 'angular2/router';
import {Injectable} from 'angular2/angular2';
import {HTTP_PROVIDERS, Http, Headers} from 'angular2/http';
import {Todo} from './components/todo/todo';
import {About} from './components/about/about';
import {AuthService} from './authService';
import {EnvironmentService} from './environmentService';
import {AngularFire, FirebaseArray} from '../firebase/angularfire';
@Component({
selector: 'app'
})
@View({
template: `
<div class="container">
<nav>
<ul>
<li><a [router-link]="['/Home']">Todo</a></li>
<li><a [router-link]="['/About']">About</a></li>
</ul>
</nav>
<router-outlet></router-outlet>
</div>
`,
directives: [RouterOutlet, RouterLink]
})
@RouteConfig([
{ path: '/', redirectTo: '/home' },
{ path: '/home', component: Todo, as: 'Home' },
{ path: '/about', component: About, as: 'About' }
])
@Injectable()
export class AppComponent {
store:FirebaseArray;
data: AngularFire;
constructor(_router: Router, _authService: AuthService){
//Firebase setup - Here the line below seems to be the issue???:
this.data = new AngularFire(new Firebase('https://markng2.firebaseio.com/users'));
this.store = this.data.asArray();
_router.subscribe((val) => {
_authService.isUserLoggedIn().then((success) => {
if(!success){
_router.navigate(['/About']);
}else{
_authService.getSpotifyData().then((success) => {
console.log(success);
});
}
});
})
}
}
bootstrap(AppComponent, [ROUTER_PROVIDERS, provide(APP_BASE_HREF, {useValue: '/'}), HTTP_PROVIDERS, AuthService, EnvironmentService]);
这是Git Bash命令错误:
更新: We are working on AngularFire2 right now
我认为这里的混乱是现在 Angular2 没有 AngularFire。
当前的 AngularFire 1.0+ 与 Angular 2 不兼容。它只是 AngularJS 1.2+。
This AngularFire for Angular 2 is something I wrote for this presentation。官方不支持。
虽然目前还没有与 Firebase 和 Angular 2 的官方集成,但由于 zone.js 的魔力,Firebase SDK 工作得非常好。
Typescript 编译器 - 提供的参数与调用目标的任何签名都不匹配。
我正在使用 typescript 创建一个 angular2 应用程序。 当我将实例设置为 firebase 时,它在 git bash 命令行中给出了这个错误:"supplied parameters do not match any signature of call target".
它抱怨这行代码说:
this.data = new AngularFire(new Firebase('https://markng2.firebaseio.com/users'));
这是 app.ts 文件的代码:
import {Component, View, bootstrap, bind, provide} from 'angular2/angular2';
import {Router, ROUTER_BINDINGS, RouterOutlet, RouteConfig, RouterLink, ROUTER_PROVIDERS, APP_BASE_HREF} from 'angular2/router';
import {Injectable} from 'angular2/angular2';
import {HTTP_PROVIDERS, Http, Headers} from 'angular2/http';
import {Todo} from './components/todo/todo';
import {About} from './components/about/about';
import {AuthService} from './authService';
import {EnvironmentService} from './environmentService';
import {AngularFire, FirebaseArray} from '../firebase/angularfire';
@Component({
selector: 'app'
})
@View({
template: `
<div class="container">
<nav>
<ul>
<li><a [router-link]="['/Home']">Todo</a></li>
<li><a [router-link]="['/About']">About</a></li>
</ul>
</nav>
<router-outlet></router-outlet>
</div>
`,
directives: [RouterOutlet, RouterLink]
})
@RouteConfig([
{ path: '/', redirectTo: '/home' },
{ path: '/home', component: Todo, as: 'Home' },
{ path: '/about', component: About, as: 'About' }
])
@Injectable()
export class AppComponent {
store:FirebaseArray;
data: AngularFire;
constructor(_router: Router, _authService: AuthService){
//Firebase setup - Here the line below seems to be the issue???:
this.data = new AngularFire(new Firebase('https://markng2.firebaseio.com/users'));
this.store = this.data.asArray();
_router.subscribe((val) => {
_authService.isUserLoggedIn().then((success) => {
if(!success){
_router.navigate(['/About']);
}else{
_authService.getSpotifyData().then((success) => {
console.log(success);
});
}
});
})
}
}
bootstrap(AppComponent, [ROUTER_PROVIDERS, provide(APP_BASE_HREF, {useValue: '/'}), HTTP_PROVIDERS, AuthService, EnvironmentService]);
这是Git Bash命令错误:
更新: We are working on AngularFire2 right now
我认为这里的混乱是现在 Angular2 没有 AngularFire。
当前的 AngularFire 1.0+ 与 Angular 2 不兼容。它只是 AngularJS 1.2+。
This AngularFire for Angular 2 is something I wrote for this presentation。官方不支持。
虽然目前还没有与 Firebase 和 Angular 2 的官方集成,但由于 zone.js 的魔力,Firebase SDK 工作得非常好。