본인의 지시문에서 NGIF를 래퍼 유형으로 사용하려고합니다. 사용자 지정 지시문 내부의 각도 호출 NGIF
나는 문제는 내가이 타이프 라이터로 변환하는 방법을 몰라 완벽하게 작동되는 다음의 예 ...var NAME = 'yourCustomIf';
angular.module('myApp', [])
.directive(NAME, function (ngIfDirective) {
console.log(ngIfDirective)
var ngIf = ngIfDirective[0];
return {
transclude: ngIf.transclude,
priority: ngIf.priority,
terminal: ngIf.terminal,
restrict: ngIf.restrict,
link: function ($scope, $element, $attr) {
var value = $attr[NAME];
var yourCustomValue = $scope.$eval(value);
$attr.ngIf = function() {
return yourCustomValue;
};
ngIf.link.apply(ngIf, arguments);
}
};
});
을 발견했다. 여기에
export class MyCustomDirective implements ng.IDirective {
constructor(private ngIfDirective: ng.IDirective) {
}
transclude = this.ngIfDirective.transclude;
priority = this.ngIfDirective.priority;
terminal = this.ngIfDirective.terminal;
restrict = this.ngIfDirective.restrict;
link = (scope: ng.IScope, element: ng.IAugmentedJQuery, attrs: ng.IAttributes, ctrl: any) => {
var atrribute = attrs["custom"];
var value = scope.$eval(atrribute);
attrs["ngIf"] =() => {
return value;
};
}
}
내 문제는 마지막 줄 ngIf.link.apply(ngIf, arguments);
함께 ... 내가 지금까지 무엇을합니다. 적용 방법은 없습니다.
정확히 원하는 최종 결과는 무엇입니까 :
귀하의 사용은 다음과 같을 것이다? 당신이 발견 한 발췌 문장은 매우 해키 롭고 원하는 것을하기위한 훨씬 더 깨끗한 방법 일 것입니다. 위의 코드는 기본 프레임 워크를 깊이 파고 그것에 대해 가정하고 완전히 다른 것으로 짜 맞추려 고 시도합니다. – Enzey
기본적으로 내 자신의 my if 지시문을 만들고 싶습니다. 내 지시어는 결과를 결정하기 위해 각도 서비스에 대해 이야기 할 것입니다. ngif 지시어에 대한 래퍼를 만드는 것이 쉽고 미래의 증거라고 생각했습니다. – fml