2017-02-22 5 views
0

Это мой сценарий, в котором я включил в моем HTML code-как передать динамическое значение из угловатых Jquery сценария

<div class="progress-bar"></div> 
<script type="text/javascript"> 

    $('.progress-bar').gradientProgressBar({ 
     value: $(this).attr('$scope.moodvalue'), 
     size: 400, 
     fill: { 
      gradient: ["red", "green", "yellow"] 
     } 
    }); 
</script> 
</div> 

и я передаю $ scope.moodevalue от углового кода. Но поскольку я получаю $ scope.moodvalue = 0.21, но изменение не появляется на моем индикаторе выполнения.

, пожалуйста, помогите мне, как передать динамическое значение скрипту.

Спасибо заранее.

+2

Это может помочь: http://stackoverflow.com/questions/31604547/how-to-assign-angularjs-value-to-jquery –

+0

Не могли бы вы поделиться html. –

+0

<тип скрипта = "текст/JavaScript"> $ ('прогресс-бар.) GradientProgressBar ({ значение:. 0,75, размер: 400, заливка: { градиент: [ "красный", «зеленый», «желтый»] } }); Это только я включил в мою страницу html, но здесь, в значении скрипта, как это 0.75. Я хочу передать динамическое значение, которое устанавливаю в своем угловом коде как $ scope.moodvalue. но если я прохожу ручное, как здесь, 0.75, это показывает изменение цвета в строке состояния, но когда я пропускаю $ scope.moodvalue, которое продолжает меняться, его не отражают. – Piyu

ответ

0

использование углового.элемента(). Scope() для получения значений. и ng-change, чтобы обновить значение. обратитесь сюда.

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Document</title> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
    <script> 
 
     function test() { 
 
      var scope = angular.element($("#testInput")).scope(); 
 
      $(".test")[0].innerText = scope.test; 
 
     } 
 
     
 
     $(document).ready(function() { 
 
      test();    
 
     }); 
 
     
 
    </script> 
 
    <script> 
 
    var app = angular.module('app', []); 
 
    
 
    app.controller('myCtrl', function($scope) { 
 
     $scope.test = '111'; 
 

 
     $scope.change = function() { 
 
      test(); 
 
     } 
 
    }); 
 
    </script> 
 
</head> 
 
<body> 
 
    <div class="test"></div> 
 
    <div ng-app="app"> 
 
    <div ng-controller="myCtrl"> 
 
     <input id="testInput" type="text" ng-change="change()" ng-model="test" /> 
 
    </div> 
 
    </div>  
 
</body> 
 
</html>

+0

Pengyy- Спасибо, что это сработало для меня. Но одно решение также будет работать - если я переведу свой сценарий на угловой код, где я получаю свой динамический $ scope.moodvalue. – Piyu

+0

@Piyu вы можете создать директиву, поместить в нее свою панель управления и передать значение $ scope.moodvalue в директиву по параметру директивы. – Pengyy

0

попробовать это:

HTML:

<input type="test" ng-model="testValue"/> 

JavaScript:

$('.progress-bar').gradientProgressBar({ 
    value: $scope.testValue, 
    size: 400, 
    fill: { 
     gradient: ["red", "green", "yellow"] 
    } 

});