現在、検索して結果を表示するAngular.jsのページがあります。ユーザーが検索結果をクリックした後、戻るボタンをクリックしました。検索結果を再度表示させたいのですが、どうやって検索を実行させるのかがわかりません。 詳細は以下の通りです。
ユーザーが"search button"を押さなくても、検索機能を再度実行させるにはどうしたらいいですか?jqueryであれば、documentready関数の中で関数を実行します。Angular.jsではそれに相当するものが見当たりません。
一方で、@Mark-Rajcokさんがおっしゃったように、プライベートなインナーファンクションで済ませることもできます。
// at the bottom of your controller
var init = function () {
// check if there is query in url
// and fire search in case its value is not empty
};
// and fire it after definition
init();
また、ng-initディレクティブを見てみましょう。実装は以下のようになります。
// register controller in html
<div data-ng-controller="myCtrl" data-ng-init="init()"></div>
// in controller
$scope.init = function () {
// check if there is query in url
// and fire search in case its value is not empty
};
しかし、angular documentation implies (since v1.2)では、ng-init
を使用しないようになっていますので、注意が必要です。ただし、アプリのアーキテクチャにもよりますが。
私が ng-init
を使ったのは、バックエンドから angular アプリに値を渡したいときでした。
<div data-ng-controller="myCtrl" data-ng-init="init('%some_backend_value%')"></div>