2016-09-28 2 views
2

컨트롤러에서 데이터를 검색하는 사용자 지정 지시문을 만들었습니다.사용자 지정 지시어 범위 요소가 보이지만 정의되지 않았습니다.

내 변수는 범위 요소 내부 볼 수 있지만 액세스하려고 할 때, 나는 여기에

angular.module('myApp.directives') 
.directive('map', [ function() { 
    return { 
     restrict: 'E', 
     scope: { 
      borders: '=' 
     }, 
     link: function(scope, element, attrs) { 
      console.log(scope); //cfr linked image 
      console.log(scope.borders) //undefined 
     } 
    } 
}]); 

정의되지 않은

HTML

<map borders="vm.borders"></map> 

지침입니다 있어요 망원경. 테두리 변수를 포함합니다. 나는이 값을 국경 검색 실종 무엇

scope console

?

+1

당신은'vm.borders'에 값을 할당하는? 나는 어떤 문제도 볼 수 없다. (http://jsfiddle.net/cg8e3emv/) – Pradeepb

+1

console.log에 객체를 추가하면 콘솔에서 화살표를 눌러 객체를 확장 할 때까지 속성이 평가되지 않는다. 프로퍼티 로깅은 런타임시 로그 문과 충돌 할 때 값이 정의되지 않았 음을 보여줍니다. 이 문제를 피하려면 Ng. – shaunhusain

답변

3

내가 예를 들어 vm.borders 경우 약속에서 가지고 있기 때문에,이 지침에 ng-if를 추가하는 것이 좋습니다 수 ng-if가 필요합니다

<map borders="vm.borders" ng-if="vm.borders"></map> 
+0

간단하고 명확한, 그것은 작동합니다. 6 분 안에 대답으로 받아 들여 – Weedoze

+0

그래, ng-if가 도움이된다. 감사. –

관련 문제