加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何在页面加载上执行角度控制器功能?

发布时间:2020-12-17 09:36:28 所属栏目:安全 来源:网络整理
导读:目前我有一个Angular.js页面,允许搜索和显示结果。用户点击搜索结果,然后点击“返回”按钮。我希望搜索结果再次显示,但我不能解决如何触发搜索执行。这里是细节: 我的Angular.js页面是一个搜索页面,具有搜索字段和搜索 按钮。用户可以手动输入查询并按
目前我有一个Angular.js页面,允许搜索和显示结果。用户点击搜索结果,然后点击“返回”按钮。我希望搜索结果再次显示,但我不能解决如何触发搜索执行。这里是细节:

>我的Angular.js页面是一个搜索页面,具有搜索字段和搜索
按钮。用户可以手动输入查询并按下按钮和
并触发ajax查询并显示结果。我使用搜索字词更新网址。所有工作正常。
>用户点击搜索结果,并转到不同的页面 – 这也很好。
>用户点击返回按钮,回到我的角度搜索页面,并显示正确的URL,包括搜索项。一切工作正常。
>我已将搜索字段值绑定到URL中的搜索字词,因此它包含预期的搜索字词。一切工作正常。

如何让搜索功能再次执行,而无需用户按下“搜索按钮”?如果是jquery,那么我将在documentready函数中执行一个函数。我看不到Angular.js的等效。

一方面,作为@马克 – 拉杰克说你可以只是离开私人内部函数:
// 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。然而imo它取决于你的应用程序的架构。

我使用ng-init当我想从后端传递一个值到angular应用程序:

<div data-ng-controller="myCtrl" data-ng-init="init('%some_backend_value%')"></div>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读