2013-08-05 3 views
1

템플릿 변수 html (PHP 측에서 작성)에 변수가 있고 각도 지시문에서이 변수가 필요합니다 (목표는 jquery flot with value를 사용하여 차트를 만드는 것입니다. PHP 쪽).jQuery Flot을 사용하여 HTML과 AngularJS 지시문 간의 변수 공유

내 HTML :

<script type="text/javascript"> 
    var graphData = [{ 
      data : [[1375574400000, 20], [1375660800000, 30], [1375747200000, 35], [1375833600000, 39], [1375920000000, 45]], 
      color: '#478e9c' 
      }]; 
</script> 

그래서, 나는 내 각 지시어에이 변수를 어떻게 사용할 수 있습니까? (내 지시문에서 Ajax 호출을하고 싶지 않음)

고마워!

+0

을 제공 너는 그것을 선언했다. ared는 전역 변수이므로'graphData'에서 말 그대로 액세스 할 수 있습니다. –

답변

0

좋아, 나는 더 많은 경험으로 돌아온다. 최상의 솔루션은 HTML로 서비스를 선언하고 지시어에 사용하는 것입니다.

HTML : JS에서

<script type="text/javascript"> 
    var graphData = [{ 
      data : [[1375574400000, 20], [1375660800000, 30], [1375747200000, 35], [1375833600000, 39], [1375920000000, 45]], 
      color: '#478e9c' 
      }]; 
    app.value("GraphDatas", graphData); 
</script> 

: 아주 좋은 책 서비스에 대한 http://shop.oreilly.com/product/0636920028055.do

  • 문서에

    app.directive("graph", ['GraphDatas', function(GraphDatas) { 
        // do stuff with my tab GrapDatas 
    }]); 
    
  • 0

    컨트롤러와 지시문을 연결하려고합니다.

    컨트롤러 :

    $scope.graphData = $http({ ... make your request }); 
    

    지침 : 그건 당신이 범위 변수에 대한 액세스를 제공하지 않는 경우

    // Add the scope attribute linked to your controller variable 
    
    .directive('thingy', function() { 
        return { 
         scope: { 
          graphData: "=graphData" 
         }, 
         link: function(scope, elem, attr) { 
          ... 
         } 
        } 
    }); 
    

    , 당신은 ''@ '를 사용하려면 또는'& '을 대신 할 수있다 = '지시어 범위 선언에서. 또 다른 옵션은 지시어에서 사용하는 html 요소 내에서 액세스 권한을 얻는 것입니다. 이와 같이 :

    <div thingy graphData="graphData"></div> 
    
    +0

    하지만 $ http를 사용하고 싶지 않습니다. PHP에 대한 다른 호출을 원하지 않습니다. 내 지시어를 HTML로 정의한다면 어떨까요? – user1853777

    +0

    처음 PHP를 처음 사용하는 곳은 어디입니까? 아니면 어디에서 정보를 얻습니까? –

    +0

    Symfony2를 사용하므로 내 정보가 컨트롤러에옵니다. 그리고 나는이 데이터를 반환하기위한 다른 액션을 정의하고 싶지 않습니다. (MySQL을 호출하면 이미 HTML을 표시 할 때 내 정보가 있습니다) – user1853777