2014-09-14 5 views
0

나는이 개 지침 내가 템플릿에 객체 element

이 컨트롤러에 공통의 가치와 래퍼와 내부 지침을 가지고 내가

<div wrapper="element"> 
    <div inner="name"></div> 
    <div inner="lastname"></div> 
</div> 

예를 가지고 : 내가 원하는 내부 지시어, 내부 지시어, 복잡한 위젯에서 element.name 속성을 바인딩하십시오.

element에 액세스하려고하면 래퍼를 통해 내부에서 어떻게 할 수 있습니까?

래퍼 지시문이 작동하지

<input type="text" ng-model="$parent.wrapper[inner]" /> 

내부 지침 템플릿

{ 
    scope: { 
    wrapper: '=' 
    } 
} 

내부 지침

{ 
    require: '^wrapper', 
    scope: { 
    inner: '@' 
    } 
} 

!

참고 난 각 내부 지침 모델 설정

<div wrapper="element"> 
    <div inner="name" model="element.name"></div> 
    <div inner="lastname" model="element.lastname"></div> 
</div> 
+0

{ require: "^wrapper", scope: { inner: '@' }, link: function (scope, element, attrs, wrapperController){ scope.wrapperScope = wrapperController.scope; } } 

당신이 바로, '$ 부모와 래퍼의 지시를 얻을. 정확히 작동하지 않는 것은 무엇입니까? 'inner'가 이미 현재 범위 인 경우 왜 래퍼를 통해'inner'에 액세스하려고합니까? –

+0

현재 내부에 많은 속성을 전달해야하고 모든 inners에는 동일한 속성이 있지만 줄 바꿈을 지정하고 공통 지시문을 사용합니다 – rkmax

답변

1

$parent 경우 ng-repeat, ng-include 의해 생성 된 중간 영역이 존재 제대로 작동하지 않을 ...

예 싶지 않는 당신의 부모에

컨트롤러 정의 :

0을 올바른 방법 require을 사용하는 것입니다 당신의 내면의 지시에

: 내부 지침 템플릿

<input type="text" ng-model="wrapperScope.wrapper[inner]" /> 
+0

컨트롤러 : function ($ scope) {this.scope = $ scope}'트릭을 수행했습니다. – rkmax

관련 문제