지시어에 범위 변수를 자바 스크립트 변수로 가져오고 싶습니다. 내 코드는 다음과 같습니다.지시어에 scope 변수를 어떻게 사용할 수 있습니까?
app.controller("Home", ["$scope", function($scope) {
...
$scope.nb_msg = data.length;
...
}]);
app.directive("myDiv", function() {
// Here, i want to get $scope.nb_msg
var nb_msg = ???;
var result = [];
// do something with nb_msg to get result
var template = "";
...
for(var i=0; i<10; i++) {
template += "<span>" + result[i] + "</span>";
}
...
return {
restrict: "E",
template: template
};
});
어떻게하면됩니까? 미리 감사드립니다!
감사합니다,하지만 템플릿 변수는 링크 기능 내부는? 이 지침의 템플릿을 설정하는 데 사용할 수 있다고 생각합니까? 아니면 링크 함수에서 반환해야합니까? 죄송합니다. 저는 angularjs에서 아주 새로 왔습니다. –
템플릿은 일반적으로 지시문 요소의 하위 요소입니다. Angular는 자동으로 템플릿을 컴파일하고 링크하여 지시어 요소의 자식으로 추가합니다. HTML 조각을 동적으로 컴파일하고 링크 할 수도 있지만, Angular의 템플릿 메커니즘을 사용할 수 있다면 그렇게해야합니다. – pixelbits
알겠습니다. 고맙습니다. 나는 한 가지 문제 만 가지고있다. 내가 전에 정의 할 수 없기 때문에 지시문에 CSS 블록을 추가하고 싶습니다. 변수 nb_msg를 기반으로합니다 : @keyframes myAnimation, 백분율은 nb_msg에 달려 있습니다. 예 : nb_msg = 2 인 경우 0 %, 50 %, 100 %이어야합니다. nb_msg = 3; 0 % 30 % 50 % 70 % 100 %. 그것은 내가 CSS 블록을 추가하는 데 도움이되는 위의 템플릿을 작성해야하는 이유입니다. 그래서 지시문에이 CSS 블록을 만들 수 있습니까? 그리고 내가 어떻게 할 수 있니? 많은 감사합니다 !!! –