如何在页面加载时执行AngularJS控制器功能?目前,我有一个Angular.js页面,允许搜索和显示结果。用户单击搜索结果,然后单击“后退”按钮。我希望搜索结果再次显示,但我无法确定如何触发搜索来执行。细节如下:我的Angular.js页面是一个搜索页面,有一个搜索字段和一个搜索按钮。用户可以手动输入查询并按下一个按钮,Ajax查询就会被触发并显示结果。我用搜索词更新URL。一切都很好。用户点击搜索结果,并被带到另一个页面-这也很好。用户单击后退按钮,然后返回到我的角度搜索页面,并显示正确的URL,包括搜索词。一切正常。我已经将搜索字段值绑定到URL中的搜索项,因此它包含了预期的搜索项。一切正常。如何使搜索函数再次执行,而不需要用户按下“搜索按钮”?如果是jQuery,那么我将在document战备函数中执行一个函数。我看不到Angular.js的等价物。
3 回答
杨魅力
TA贡献1811条经验 获得超6个赞
// at the bottom of your controllervar init = function () { // check if there is query in url // and fire search in case its value is not empty};// and fire it after definitioninit();
// 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};
ng-init
ng-init
<div data-ng-controller="myCtrl" data-ng-init="init('%some_backend_value%')"></div>
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
$viewContentLoaded
ng-init
ng-repeat
$scope.$on('$routeChangeSuccess', function () { // do something});
ui-router
$scope.$on('$stateChangeSuccess', function () { // do something});
- 3 回答
- 0 关注
- 695 浏览
添加回答
举报
0/150
提交
取消