編集:TypeScript、Angular 1.x:ラムダ関数はプロパティの解決にどのように影響しますか?
私は問題を解決できましたが、その理由はわかりません。そこで、私は今どこに立っているかを反映するようにこの質問を修正しました。私は参照のために古い質問を残しています。
新しい質問:
は古いスタイルの関数にラムダ関数を変更するには、TSコンパイラが$state
のプロパティを見つけることができませんでした問題を修正しました。なぜこれが当てはまるのかわかりません。ですから、今私の質問は...
ラムダ関数はプロパティの解決にどのように影響しますか?
ラムダと旧式の関数を使用するタイミングはどうやって判断できますか?古い形式の関数に戻すことにより、
固定資産解像度:BELOW
OLD QUESTION:
タイトル:活字体、角度の1.x:$のstate.goはありません存在しません - 同じファイル内の他の場所でも同じです
私はAngular 1.5 app f romバニラJSからTypeScriptへ私は$state
の両方のメソッドgo
が存在し、同じクラス内に存在しないという奇妙な問題に遭遇しています。
(下の画像で見ることは困難であるが、コンパイラは、プロパティが存在しないと考えているため第二this.$state.go
に、go
は赤下線を持っていることに気づくことができる)
こちらフルクラス:
export class LogoutAndInfoController implements ILogoutAndInfo {
public memberInfo: Object;
static $inject = [
'$http', '$state', 'AuthService', 'API_ENDPOINT', 'UserInfoService'
];
constructor(private $http: angular.IHttpService, private $state: angular.ui.IStateProvider,
private AuthService: AuthService, private API_ENDPOINT: IAPI_ENDPOINT, private UserInfoService: UserInfoService) {
this.memberInfo = {};
}
destroySession(): void {
this.AuthService.logout();
}
getInfo(): void {
this.$http.get(this.API_ENDPOINT["url"] + '/memberinfo').then(function (result) {
this.memberInfo = result.data["user"];
this.$state.go('login');
});
}
logout(): void {
this.AuthService.logout().then((result: any) => {
this.UserInfoService.resetUser();
this.$state.go('login');
});
}
}
私はAngularフレームワーク内でTSとTSの両方に非常に新しいです。だから、私たちがデバッグする前に見なければならない他のコードがあるかどうか教えてください。