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

Angularjs:双向数据绑定和控制器重新加载

发布时间:2020-12-17 08:34:10 所属栏目:安全 来源:网络整理
导读:如果使用路由和控制器,那么模型不会在控制器重新加载之间保存其状态. Angular在每个路由负载上创建控制器实例和新范围. 例如,我输入的内容有ng-model =“something”,转到另一条路线,然后回到第一条路线.我输入的所有文字都丢失了. 我需要在路由更改之间进行
如果使用路由和控制器,那么模型不会在控制器重新加载之间保存其状态. Angular在每个路由负载上创建控制器实例和新范围.

例如,我输入的内容有ng-model =“something”,转到另一条路线,然后回到第一条路线.我输入的所有文字都丢失了.

我需要在路由更改之间进行简单的双向数据绑定.尽可能简单,比如knockoutjs中的ko.observable.或者隐含地像在一个控制器内的角度.也许使用singleton $scope作为控制器?

当我创建服务以在路由更改之间保存数据并将其注入控制器时,我找到了方法.在控制器的构造函数中,我使用service中的值创建模型,并使用$scope.watch这个模型进行更改,并在更改时将模型的值设置为service.

有没有更简单的方法?

你是对的 – 服务是这样做的正确方法.您可以像这样使用它:

app.js

app.factory('paginationService',function() {
    return {
        cur: 1,total: 9,pageSize: 8
    };
});


app.controller('Page1Ctrl',function($scope,paginationService) {
  $scope.pagination = paginationService;
});

Page1.html

<div ng-controller="Page1Ctrl">
  <h2>Page1</h2>

  <p>curPage: <input type="number" ng-model="pagination.cur" /></p>  
</div>

见full example.

(编辑:李大同)

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

    推荐文章
      热点阅读