【发布时间】:2015-04-22 01:28:16
【问题描述】:
可能是一个新手问题。
我有一个问题,我在 HTML 中的数据绑定更新得很好,但 log_interval 函数总是控制台日志“3”。我想使用更新的模型“间隔”以不同的间隔向时间序列数据库发送请求。但是每次我只发送 3 个,即使我的视图正在更新。
我尝试过使用 $scope.$watch(就像在 sn-p 中一样),但它只在页面加载时触发。 我还尝试在所有单选按钮和元素中分别使用 ng-change 和 ng-click。我试图调用 $scope.$watch,但我收到一条错误消息,提示 $digest 已经在运行。没有任何效果:( 如何更新控制器中的模型,以便可以将其用于不同的 HTTP 请求?
.controller('DashCtrl', ['$scope', '$log', function($scope, $log) {
$scope.interval = 3;
$scope.$watch("interval", function() {
$log.log($scope.interval);
}, true);
$scope.log_interval = function() {
$log.log($scope.interval);
};
}])
;
<h1>{{interval}}</h1>
<div class="btn-group btn-group-justified">
<label class="btn btn-default" ng-model="interval" btn-radio="1" uncheckable>1 day</label>
<label class="btn btn-default" ng-model="interval" btn-radio="2" uncheckable>3 days</label>
<label class="btn btn-default" ng-model="interval" btn-radio="3" uncheckable>1 week</label>
<label class="btn btn-default" ng-model="interval" btn-radio="4" uncheckable>2 weeks</label>
<label class="btn btn-default" ng-model="interval" btn-radio="5" uncheckable>1 month</label>
<label class="btn btn-default" ng-model="interval" btn-radio="6" uncheckable>3 months</label>
</div>
【问题讨论】:
-
我认为您没有建立适当的双向数据绑定。否则,您不希望更新模型以反映视图。它自己发生。而且,我不明白你在 HTML 中想要做什么。
标签: javascript angularjs