2015-10-30 207 views
0
var slider = document.getElementById('test5'); 
noUiSlider.create(slider, { 
    start: [1366], 
    step: 1, 
    range: { 
     'min': 200, 
     'max': 1920 
    }, 
    format: wNumb({ 
     decimals: 0, 
     postfix: 'px', 
    }) 
}); 

var app = angular.module('myApp', []); 

app.controller('myWidth', function ($scope) { 
    $scope.width = inputFormat.value; 

    $scope.$watch('width', function (newValue, oldValue) { 
     console.log('Old:' + oldValue); 
     console.log('New:' + newValue); 
    }); 
    console.log($scope.width + ' - scope width'); 
}); 
var inputFormat = document.getElementById('input-format'); 
editorContainer = document.getElementById('editorContainer'); 
slider.noUiSlider.on('update', function (values, handle) { 
    inputFormat.value = values[handle]; 
    //$(editorContainer).css('width', values[handle]); 
}); 
inputFormat.addEventListener('change', function(){ 
    slider.noUiSlider.set(this.value); 
}); 

我在獲取inputFormat的值時出現問題。會發生什麼是我運行我的網頁/應用程序和$ scope.width變量獲取inputFormat的第一個值,然後停止。在inputFormat的值發生更改後,它不會繼續獲取值。所以我的問題是如何以$ scope.width變量更新的方式調用inputFormat變量?我是angular和javascript的新手,希望大家都能理解我的問題。謝謝您的幫助!從函數外調用變量變量

這裏就是我調用$ scope.width的HTML的一部分:

<div class="" <!--id="editorContainer"--> style="position: absolute; top: 10px; bottom: 10px; right: 10px; left: 10px; width: {{width}};" 
+1

這違背角的目的。你應該只是使用雙向綁定。 lookup ng-model –

+0

好吧,所以我嘗試使用雙向數據綁定並綁定。但是,當寬度的值改變時,div的寬度我分配ng模型({{width}})不會更新或更改。它獲得一次值然後停止並且不會繼續更新。你對如何改變這個問題有任何想法嗎?再次,我是新的角,所以如果某件事看起來不合邏輯,那麼我仍然在學習角度背後的語法和邏輯。 –

回答

0

您應該使用ng-style,然後就改變scope.width $ ..