Javascript 在ng repeat中将默认值添加到字段时,数据绑定停止

Javascript 在ng repeat中将默认值添加到字段时,数据绑定停止,javascript,angularjs,html,Javascript,Angularjs,Html,我重新问这个问题是因为我之前遗漏了重要信息 我有一个日期模型,它根据以下内容更改输入值: 这看起来像是更新了模型,但没有更新页面上的字段。我怀疑ng init正在为ng repeat创建的每个新作用域创建一个新的date变量,因此它将不再从您的控制器绑定。如果只需要一个日期,请尝试将其设置为控制器中存在的对象: $scope.obj = { date: null }; 控制器: $scope.obj = { date: null }; 视图: 然后: ng init用于在实例

我重新问这个问题是因为我之前遗漏了重要信息

我有一个日期模型,它根据以下内容更改输入值:


这看起来像是更新了模型,但没有更新页面上的字段。

我怀疑
ng init
正在为
ng repeat
创建的每个新作用域创建一个新的
date
变量,因此它将不再从您的控制器绑定。如果只需要一个日期,请尝试将其设置为控制器中存在的对象:

$scope.obj = {
    date: null
};
控制器:

$scope.obj = {
    date: null
};
视图:

然后:


ng init用于在实例化项时调用要执行的函数。一般的建议是永远不要把它用于任何事情。您能在控制器中将模型初始化为所需的值吗?@MikeFeltman是的,但存在多个日期值,这就是为什么存在ng重复。你是说在数组中传递还是什么?你的模型中只有一个日期。您的意思是要使用在associatedContract或ndc对象上可用的日期属性吗?这将重新启用数据绑定,但会将所有默认传入值也设置为1个特定值。ng-repeat上有多个输入。可能您需要执行以下操作:
data ng model=“ndc.date”ng init=“ndc.date=ndc.value”
Ok,如果我使用上面的方法。在更新之后,如何更改ng更新中的所有ndc.date值?我是否也将选择器字段模型设置为ndc.date?即使它在外面,重复
如果数组中的每个项都需要自己的日期,则可以使用
ng change
运行函数。因此,当日期改变时,请设置其他日期。谢谢编辑我的答案。请注意,
$scope.updateEffectiveDates
可能不需要将
日期
作为参数,因为
ng change
在控制器中更新日期后运行一次。因此,
$scope.date
应该已经更新了。
    $scope.updateEffectiveDates = function (date) {
        angular.forEach($scope.ndcs, function (ndc) {
            ndc.value = date;
        });
        console.log($scope.ndcs);
    };
$scope.obj = {
    date: null
};
<input ng-init="obj.date=ndc.value">
<input id="setAllEffectiveDates" ng-change="updateEffectiveDates(date)" type="text" data-ng-model="date" value="" class="form-control input-sm">
<input id="effectiveDate" type="text" data-ng-model="ndc.value" class="form-control input-sm">
    $scope.updateEffectiveDates = function (date) {
        angular.forEach($scope.ndcs, function (ndc) {
            ndc.value = date;
        });
        console.log($scope.ndcs);
    };