Angularjs:如何在惰性模式下加载模型

时间:2016-01-27 19:28:13

标签: javascript angularjs angularjs-ng-model ng-bind

我想在延迟模式下加载一些数据。 特别是,假设我有一个像这样的对象:

$scope.person = {
   name: 'Stefano',
   surname: 'Rossi',
   address: 'Orange Road',
   city: { 
      clazz: 'foo.bar.City',
      id: 5, 
      lazy: true 
  }
}

使用angular我可以将前三个属性绑定到html标记而没有问题。

<input ng-model="person.name">
<input ng-model="person.surname">
<input ng-model="person.address">

效果很好。

但是假设我想添加一个城市的解码,我可以互动ngBinding或ngModel进行测试,如果对象是懒惰的,那么使用promise获得真正的价值(我想通过$ http服务获得)

我尝试扩展ngmodel但没有正确的$ scope ...

https://jsfiddle.net/qq4gqn6t/13/

有人知道如何与ngmodel进行交互吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

由于双向数据绑定模型,一旦安装在视图上,就可以延迟加载。 下面是一个粗略的示例,在事件中加载模型,使您能够进行任何其他更改。

$scope.loadlater = function() {
    $scope.person = {
      name: 'Stefano',
      surname: 'Rossi',
      address: 'Orange Road',
      city: {
        clazz: 'foo.bar.City',
        id: 5,
        lazy: true
      }
    }
  }

https://jsfiddle.net/qq4gqn6t/14/