【发布时间】:2016-09-06 15:01:16
【问题描述】:
我正在使用 Angular JS 的 ui-date。循环渲染了多个日期。下面是我的 HTML 代码。
<tr ng-repeat="(k,v) in :: vm.dateMap">
<th>
<input ng-attr-id="{{ 'dateCmp-' + k}}" ui-date="vm.dateOptionMap[k]">
</th>
</tr>
在我的控制器中,dateOptionMap 包含以下值
vm.dateOptionMap = {};
vm.dateOptionMap['03/06/2014'] = {
changeYear: true,
changeMonth: true,
dateFormat: 'dd-mm-yy'
};
vm.dateOptionMap['07/21/2016'] = {
changeYear: true,
changeMonth: true,
dateFormat: 'dd-mm-yy'
};
vm.dateOptionMap['09/06/2017'] = {
changeYear: true,
changeMonth: true,
dateFormat: 'dd-mm-yy'
};
单击按钮时,我将使用以下按钮更改地图值。
vm.dateOptionMap['03/06/2014'] = {
changeYear: false,
changeMonth: false,
dateFormat: 'dd-mm-yy'
};
这种变化并没有反映在 UI 上。你能帮我解决这个问题吗?
【问题讨论】:
-
在您的控制器初始化数据结束时,使用
$scope.$apply()更新您的范围并将您的更改反映到 UI,如果它解决了您的问题,请让我提交我的解决方案作为答案 -
要实现双向绑定,需要使用这里缺少的 ng-model 指令
标签: javascript jquery angularjs node.js