これは、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
- jquery-1.9.1.min.js
- jquery.mobile-1.3.0.min.js
- jquery-mobile-angular-adapter-1.3.1.js