更新输入值

时间:2017-05-05 14:44:00

标签: javascript angularjs input

我正在使用AngularJS构建鼓机,并且在用户界面调整速度时遇到问题。

我有对象“this.tempo=120”&amp; “<input class="bpm-input" type="number" onchange="updateBPM()" min="100" max="150" ng-model="$ctrl.tempo"></input>

这似乎不会更新tempo值,只会更新输入框中显示的值。

更新控制器内的值需要什么功能?

3 个答案:

答案 0 :(得分:0)

这是正常的,当你使用AngularJS时,你需要使用Angular WAY。

换句话说,对你来说角度是唯一的方法。

AngularJS彻底控制您的DOM并将其用作副本。

如果在没有角度行为的情况下更改DOM,则角度无法更新其副本并引发不良行为。

你需要使用所有Angular的东西,告诉他将你的魔法应用到你的DOM上。

onclick angular指令更改ng-click属性,将updateBPM放入控制器范围,这样就行了。

希望能帮到你!

答案 1 :(得分:0)

您可以执行的基本操作就像在附加的代码片段中一样,尝试使用Angular模式来实现可管理的代码库和良好的性能Patterns

&#13;
&#13;
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myController as myCtrl">

    <input class="bpm-input" type="number" ng-change="myCtrl.updateBPM()" min="100" max="150" ng-model="myCtrl.tempo"></input>
    
 
</div>

<script>
var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
    var myCtrl = this;
    myCtrl.tempo=120;
    myCtrl.updateBPM = function(){
    alert(myCtrl.tempo);
    }    
});
</script>
</body>
</html>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

代码附在

下面
x = [2,5,6,8,4,5,10,33];
start_w = 4;
end_w = 7;

[m,I] = max(x(start_w:end_w));

I = I + start_w - 1; %reindex to x, so that x(I)==m