0
以下は私のタイプスクリプト角度コントローラーです。私は、urlが変わったたびに(たとえURLの小さな部分であっても、例えば数字など)毎回トリガするメソッドが必要です。urlが変更されたときに、typescriptメソッドを呼び出す
私はトリガーしたいものを作成しました。コントローラーにはコンストラクターがあります。どのようにしてそのメソッドをトリガーするのか、どこで呼び出す必要があるのかを私はどのように知ることができますか?それを初期化するコンストラクタの内部?
これは私のコントローラのコードです:
private returnedClass: Class;
static $inject: Array<string> = ['$scope', 'common', 'repository.class'];
constructor(public scope: any, public common: app.core.Common, public myService: app.data.IRepositoryClass) {
}
getFromDB(): void{
if (location.href.indexOf("classAdd") !== -1 && typeof this.common.itemId !== 'undefined' && this.common.itemId != null)
{
this.myService.getClassById(this.common.itemId).then((returnedItem: Class) => {
this.returnedClass = returnedItem;
console.log(this.returnedClass);
});
}
}
}
angular
.module('app.layout')
.controller('HeaderNavigationController', HeaderNavigationController);
私はこのコントローラは、全体のHTML DOMがロードされる1時間に実行、(index.htmlに)であることを言及したいと思います。ウォッチャーなどが必要ですか?どうやってやるの?事前
私はあなたが逃したと思います:「URLが変更されたときに毎回トリガする方法が必要です」&「このコントローラが1回実行されたことを言いたい」 – TrulyXax
私の回答が更新されました。どのルータを使用していますか? – Martin
はい、私はuiRouterを使用していますが、 "scope.onは関数ではありません"エラー – TrulyXax