Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 ngModel.$setViewValue在尝试设置模型值时不是函数_Javascript_Angularjs_Angular Ngmodel - Fatal编程技术网

Javascript ngModel.$setViewValue在尝试设置模型值时不是函数

Javascript ngModel.$setViewValue在尝试设置模型值时不是函数,javascript,angularjs,angular-ngmodel,Javascript,Angularjs,Angular Ngmodel,我从指令的link函数得到的ngModel是一个集合,而不是ngModel的实例。当然,当我试图调用ngModel.$setViewValue('bill')时,我的程序会抛出一个错误,ngModel.$setViewValue不是函数 如果我更改我的changeName函数来寻址数组的第一个元素,它就可以正常工作。为什么在这种情况下,ngModel作为一个集合出现?元素的顺序指的是什么?我怎样才能修好它 $scope.changeName=function(){ ngModel[0]。$se

我从指令的link函数得到的ngModel是一个集合,而不是ngModel的实例。当然,当我试图调用
ngModel.$setViewValue('bill')
时,我的程序会抛出一个错误,
ngModel.$setViewValue不是函数

如果我更改我的changeName函数来寻址数组的第一个元素,它就可以正常工作。为什么在这种情况下,
ngModel
作为一个集合出现?元素的顺序指的是什么?我怎样才能修好它

$scope.changeName=function(){
ngModel[0]。$setViewValue(“票据”);
console.log(ngModel);

}
由于您将require属性指定为数组,因此angular将为链接函数提供一个数组。阵列将包含请求的控制器

如果您只需要ngModel控制器,则可以将其作为字符串传递给require。否则,您需要在指定给链接函数的数组中引用它

require

需要另一个指令并将其控制器作为第四个参数注入链接函数。require属性可以是字符串、数组或对象:

  • 包含要传递给链接函数的指令名称的字符串
  • 包含要传递给链接函数的指令名称的数组。传递给链接函数的参数将是一个控制器数组,其顺序与require属性中的名称相同
  • 一种对象,其属性值是要传递给链接函数的指令的名称。传递给链接函数的参数也将是具有匹配键的对象,其值将保存相应的控制器

(增加强调)

Aha。这很有道理。非常感谢。