这是我使用AngularJS的jQueryMobile页面:
<div data-role="page" id="page1">
<div data-role="header"><h1>Chart</h1></div>
<div data-role="content">
<div id="plotChart" class="myChart"></div>
<form>
<input type="range" value="0" min="-10" max="10" ng-init="0" ng-model="value1" ng-change="update()"/>
<input type="range" value="0" min="-10" max="10" ng-init="0" ng-model="value2" ng-change="update()"/>
<input type="range" value="0" min="-10" max="10" ng-init="0" ng-model="value3" ng-change="update()"/>
</form>
<div class="ui-grid-b">
<div class="ui-block-a"><div class="ui-bar ui-bar-e" style="height:60px">Value1: {{value1}}</div></div>
<div class="ui-block-b"><div class="ui-bar ui-bar-e" style="height:60px">Value2: {{value2}}</div></div>
<div class="ui-block-c"><div class="ui-bar ui-bar-e" style="height:60px">Value3: {{value3}}</div></div>
</div>
</div>
</div>
我的更新功能如下所示:
function MyCtrl($scope){
$scope.update = function(){
console.log("C=" + $scope.value3 + "B="+$scope.value2 + "A="+$scope.value1);
}
}
移动滑块时,页面上的{{value1-3}}会正确更新 移动滑块时,更新功能会保持记录为零。
为什么呢?这里有不同的范围吗?
(滑块也有-10作为初始值 - 不是-10定义的) 的jquery-1.9
答案 0 :(得分:0)
ng-init=0
不会设置任何范围属性。 ng-init期望一个Angular表达式,该表达式根据范围进行评估。您可以编写ng-init='value1 = 0'
,但最好在控制器中初始化模型值:
$scope.value1 = 0;
value = 0
不应与Angular表单元素一起使用(type=radio
除外)。
这是minimal fiddle只包含Angular,只显示我上面谈到的更改。