ng2'de bileşen ve servis iletişimi ile uğraşırken 'en iyi uygulama' türü öneri arıyorum.Köşeli Bileşenler ve Enjekte Edilebilir Malzemeler Arası İletişim
örneğin, aşağıdakileri sorunum diyelim:
//auth.service.ts
import {Injectable} from 'angular2/core';
@Injectable()
export class AuthService {
login() {
//do some login stuff here
}
}
//login.component.ts
import {Component} from 'angular2/core';
import {AuthService} from './path/to/auth.service';
@Component({
selector: 'app-login',
template: '<button (click)="">Login</button>',
providers: [AuthService]
})
export class LoginComponent {
constructor (
public _authService: AuthService
) {}
}
Sorum esas olarak bu etrafında toplanmaktadır: Bir oluşturmanız gerekir
<button (click)="">Login</button>
Sadece (click)="_authService.login()"
böyle bir şey yapmak mı yoksa LoginComponent içinde giriş yöntemi ve görünümünde referans?
<button (click)="login()">Login</button>
export class LoginComponent {
constructor (
public _authService: AuthService
) {}
login() {
this._authService.login();
}
}
görünümü sonra tamamen hizmetten ayrılmış gibi hissediyor beri Ancak, insanların ilk yaklaşım tercih yorum gördüm, ikincisi düşünüyorum. Ayrıca, _authService
'un ayrıca görüntüye bağlı olması gereken bazı verilere de sahip olabileceği durumlar vardır; bu durumda, görünümün bu verinin değiştirebilmesinin tek yolu doğrudan _authService
'a bağlanmasıdır.
Bu ikisi arasında iletişim oluşturulurken hangi yaklaşım en iyi uygulama olarak kabul edilir?
Bu mükemmel bir fikir, teşekkürler! – spez86