좋아, 그래서 나는 속성을 취하고 그것을 읽고 쓰는 지시문을 가지고있다.
플 런커는 다음과 같습니다 : http://embed.plnkr.co/IkKPLahPc9yqeHWEQUG3/
나는 그것이 컨트롤러 때문이라고 생각합니다 : main-directive.js 내부의 ctrl 은 아무것도없는 반면 실제 작업은 격리 된 지시문의 컨트롤러 컨트롤러 내부에서 발생합니다 .
다음은 main-directive.js입니다 .
var app = angular.module('testapp.directive.main', ['main']);
app.directive('myCustomer', function() {
var controller = ['$scope', function($scope) {
$scope.dan = { 'name': 'Dan', 'nationality': 'ESP' };
// scope from here obv...
}];
var template = 'Getting attribute value of =getInfo... {{getInfo.name}} from {{getInfo.nationality}}';
return {
restrict: 'E',
controller: controller,
scope: {
getInfo: "=info"
},
template: template
};
});
app.controller('ctrl', function($scope) {
})
내 템플릿은 다음과 같습니다.
<div ng-controller="ctrl">
<my-customer info="dan">
</my-customer>
</div>
내 지시문이 정보 속성을 읽지 않는 이유는 무엇 입니까?
맞습니다. $ scope.dan 개체는 'ctrl'컨트롤러 범위에 있어야하며 격리 지시문 컨트롤러 범위에서 제거되어야합니다.
app.controller('ctrl', function($scope) {
$scope.dan = { 'name': 'Dan', 'nationality': 'ESP' };
})
이것은 "= info"에서 사용하는 getInfo에 대해 설정 한 양방향 데이터 바인딩 방법에 적용됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다