如何在页面加载时执行AngularJS控制器函数?
如何在页面加载时执行AngularJS控制器函数?
当前我有一个 Angular.js 页面,允许搜索并显示结果。用户点击搜索结果,然后点击返回按钮。我希望再次显示搜索结果,但我不知道如何触发搜索执行。以下是详细信息:
- 我的 Angular.js 页面是一个搜索页面,带有搜索字段和搜索按钮。用户可以手动输入查询并按下按钮,然后会触发 ajax 查询并显示结果。我使用搜索项更新 URL。所有这些工作都很好。
- 用户点击搜索结果并进入到另一个页面——这也很好。
- 用户点击返回按钮,回到我的 Angular 搜索页面,并显示正确的 URL,包括搜索词。所有工作正常。
- 我已经将搜索字段值绑定到 URL 中的搜索词,因此它包含预期的搜索词。所有工作都很好。
如何在不让用户按下“搜索”按钮的情况下执行搜索功能?如果是 jQuery,那么我会在 documentready 函数中执行一个函数。我看不到 Angular.js 的等效方式。
admin 更改状态以发布 2023年5月20日
一方面,就像@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 // in controller $scope.init = function () { // check if there is query in url // and fire search in case its value is not empty };
但要注意,如Angular文档(自v1.2以来)所示,请不要使用ng-init
。然而,在我看来,这取决于你的应用程序架构。
当我想将后端的值传递到Angular应用程序中时,我使用了ng-init
: