2013-08-10 4 views
2

ng 그리드에서 하나의 셀에있는 각 행에 jQuery Sparkline을 가져 오려고합니다. 열은 숫자 배열 데이터를 포함합니다.jQuery CellTemplate 및 지시문을 사용하여 ng 격자의 셀에있는 스파크 라인

Plunkr -> 내가 이것을 달성하기 위해 세포 템플릿 지시문을 사용하고 http://plnkr.co/edit/1eNEcx6FQWcJynlVYvFw?p=preview

.

셀 서식 :

지침 :

app.directive('ngAge', function() { 
    return{ 
    restrict: 'C', 
    replace: true, 
    translude: true, 
    scope: {ngAgeData: '@'}, 
    template: '<div>' + 
       '<div class="sparklines"></div>' + 
       '</div>', 
    link: function(scope,element,attrs){ 
    // var arrvalue= "3386.24000,1107.04000,3418.80000,3353.68000,4232.80000,3874.64000,3483.92000,2735.04000,2474.56000,3288.56000,4395.60000,1107.04000"; 
    //console.log(attrs.ngAgeData); 
    var arrvalue = attrs.ngAgeData; 
    var myvalues = new Array(); 
    myvalues = arrvalue.split(","); 
    $('.sparklines').sparkline(myvalues); 

    } 
    } 
}); 

내가 링크 기능 내부 attrs.ngAgeData 값을 얻기에 어려움을 겪고 있어요. 나는 내가 무엇을 놓치고 있는지 확신하지 못한다. 도와주세요!!!

감사

답변

2

사용이 celltemplate : 값이 속성으로 전달되는 것을

cellTemplate: '<div age-line agedata=row.entity.age></div>' 

참고.

이 지침은 다음과 같아야합니다.

app.directive('ageLine', function() { 
    return { 
     restrict: 'A', 
     scope: { agedata: '=' }, 
     link: function (scope, elem) { 
      scope.$watch('agedata', function (newval) { 
       elem.sparkline(scope.agedata); 
      }); 
     } 
    }; 
}); 

또한 요소가 이미 JQuery와 (라이트) 객체이기 때문에 당신의 $를 필요 없어요 있습니다.

다음은 작동중인 플 런커입니다. http://plnkr.co/edit/oDbPp9DGFCGGZF30Bzsi?p=preview

관련 문제