将变量绑定到焦点上的字段以角度

时间:2017-03-06 13:52:03

标签: javascript angularjs

我使用Angular 1.6.2作为学习框架的个人项目,我无法找到解决此问题的方法:

我有一个经常更新的变量(比如每秒一次或更少),我在视图中有两个输入文本字段。我希望变量只在聚焦时更新输入(和另一个变量)。

为了更好的用户体验,我现在稍微更新了视图,所以现在每个文本输入都有一个单选按钮(因为有时用户可能希望更新该值,但他需要点击在外地)。

控制器内部:

$interval(function () {
    // This gets the updated value from an external source/code.
    $scope.updatingValue = updatingValueFunc();
}, 1000);

$scope.fields = [
    { first: 12323, second: 1430,}
];

HTML:

<div class="field-wrap">
    <input type="radio" name="current-bind" value="answer.end">
    <input type="number" ng-model="answer.second">
</div>
<div class="field-wrap">
    <input type="radio" name="current-bind" value="answer.start">
    <input type="number" ng-model="fields.first">
</div>

1 个答案:

答案 0 :(得分:1)

Angular有一个ng-focus钩子,可用于调用更新功能。

<input type="radio" name="current-bind" value="answer.end" ng-focus="updateValue()"/>

在你的js中你可以创建一个匹配它的函数

$scope.updateValue = function(){
   $scope.updatingValue = updatingValueFunc();
}

如果您希望该功能在点击而不是焦点上运行,您也可以使用ng-click。