更新NG-模型两个对象 [英] Update two objects in ng-model

查看:101
本文介绍了更新NG-模型两个对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么能更新这些范围

$scope.name = "";
$scope.username = "";

里面有一个的NG-模型

<input type="text" ng-model="name && username"/>

更新:

我处理棘手的局面,我不能用一个函数来更新 $ scope.username 和我正在寻找一种方式来做到这一切只是通过 NG-模型属性。

I am dealing with a tricky situation that I cannot use a function to the update $scope.username and i'm looking for a way to do all of this just via the ng-model attribute.

推荐答案

有关完整,这里是多了一个办法:使用的 ngModelOptions getterSetter

For completeness, here is one more approach: Using ngModelOptions's getterSetter:

<input ... ng-model="getSetName" ng-model-options="{getterSetter: true}" />

$scope.getSetName = function (name) {
  if (!arguments.length) return $scope.name;
  $scope.name = name;
  $scope.username = name;
};

或者更复杂的例子:

Or a more complex example:

<input ... ng-model="user.fullname" ng-model-options="{getterSetter: true}" />

$scope.user = {
  firstname: '...',
  lastname: '...',
  fullname: function (fullname) {
    if (!arguments.length) {
      return ((this.firstname || '') + ' ' + (this.lastname || '')).trim();
    } else {
      var parts = fullname.split(' ');
      this.firstname = parts[0];
      this.lastname = parts[1];
    }
  }
};

又见这个 短演示

See, also, this short demo.

这篇关于更新NG-模型两个对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆