ng-model
을 사용하여 해당 값을 노출시키는 지침이 있습니다.지시어 범위를 분리하지만 ngModel에서 바인딩 보존
이 지시문에는 범위가 엉망인 내부 구성 요소가 있으므로 해당 범위를 격리해야하지만 여전히 외부 세계에 바인딩하는 것이 좋습니다.
어떻게하면 좋을까요?
이
는 지침입니다 : 당신이 볼 수 있듯이angular.module('app', []).directive('myDirective', function() {
return {
restrict: 'E',
require: 'ngModel',
link: function(scope, element, attr, ngModel) {
// do stuff using ngModel controller
},
replace: true,
template: '<div><input ng-model="userInput" /></div>'
};
});
<my-directive ng-model="prop"></my-directive>
, 지시어의 값으로 prop
을 노출해야하지만, <input ng-model="userInput"/>
에 정의 된 부모 범위에 userInput
을 노출해서는 안된다.
prop
만 부모 범위에서 사용할 수 있습니까?
지시어 안에 무엇을하고 싶습니까? 필드 요소의 일부가 될 것입니까? 또한, 당신이 보여주는'ngModel'은'prop' 또는'userInput'을위한 것입니까? –
두 개의'ng-model'이 필요합니다. 입력 된 것이 사용자 입력입니다. 내 지시어 컨트롤러는'ngModelController. $ setViewValue()'를 사용하여'prop'를 보완하고 업데이트하는 데있어'$ watch'를 할 것입니다. 나는 이벤트를 입력하고 내부 'ng 모델'을 피할 수 있지만 미래에는 같은 내부 범위 속성을 공유하는 요소가 더 많아 질 것입니다. 그래서 내부 요소를 사용할 수있는 격리 된 범위를 갖고 싶지만 부모 범위에 바인딩 된'ng-model = "prop"를 여전히 갖고 싶습니다. 나는 또한 외부'ng-model '의 유효성 기능을 사용할 것이다. –