Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于另一个变量的输入ng模型_Javascript_Angularjs - Fatal编程技术网

Javascript 基于另一个变量的输入ng模型

Javascript 基于另一个变量的输入ng模型,javascript,angularjs,Javascript,Angularjs,我在angular应用程序中创建了一个输入文件。我想根据一些条件使用variableA或variableB。我试过这样的ng模型=条件?variableA:variableB但它抛出错误:[ngModel:nonassign]。有什么想法可以让它工作吗?ngModel必须是$parse后面的属性表达式 尝试使用代理,然后观察该变量,然后将其分配给a或B: <input type="text" ng-model="variableC"> 怎么样 <input type="tex

我在angular应用程序中创建了一个输入文件。我想根据一些条件使用variableA或variableB。我试过这样的ng模型=条件?variableA:variableB但它抛出错误:[ngModel:nonassign]。有什么想法可以让它工作吗?

ngModel必须是$parse后面的属性表达式

尝试使用代理,然后观察该变量,然后将其分配给a或B:

<input type="text" ng-model="variableC">
怎么样

<input type="text" ng-model="variableC">
你可以利用:


您可以为“根模型”定义一个variableC,并在角度控制器开始时有条件地将其分配给variableA或variableB!Wawy的答案也很好,但我仍然使用angular 1.2 ie8支持…你能提供更多关于这个的信息吗?我已经阅读了文档,但我仍然不明白:@Elec你不明白什么?@Wawy分配了什么参数值?以及为什么必须分配$scope[model]=value。抱歉,这是一个新手问题,但我不知道为什么要这么做。当使用getterSetter:true时,ngModel以两种方式调用您定义为ngModel属性值的函数,一种是当它想读取值$scope.setModel时,另一种是当它想在模型$scope.setModelvalue中设置值时。您负责处理函数中模型的获取和设置。@Wawy非常感谢您。
<input type="text" ng-model="variableC">
$scope.variableC = (condition) ? variableA : variableB
<input type="text" ng-model="setModel" ng-model-options="{getterSetter: true}">
$scope.setModel = function(value) {
  var model = '';
  if (condition) {
    model = "variableA";
  } else {
    model = "variableB";
  }

  if (angular.isDefined(value)) {
    return ($scope[model] = value);
  } else {
    return $scope[model];
  } 
};