TypeScript를 사용하여 새 각도 지시문을 만들려고 할 때 문제가 발생합니다. 문제는 지시문에서 격리 범위를 사용할 계획 인 경우에만 발생합니다. 다음은 내가 뭐하는 거지입니다 :지시문에서 TypeScript 및 각도 1로 분리 범위
module Foo.Layout {
"use strict";
class SidebarDirective implements ng.IDirective {
templateUrl = "/layout/sidebar/sidebar.html";
restrict = "E";
controller = SidebarController;
scope = {
align: "@"
}
static factory() {
var instance =() => {
return new SidebarDirective();
}
return instance;
}
}
angular.module("app.layout").directive("fooSidebar", SidebarDirective.factory());
}
문제는 그렇지 않으면 scope = {...}
문을 추가 할 때 잘 컴파일 발생합니다. 아래는 오류입니다.
오류 TS2420 클래스 'SidebarDirective'가 인터페이스 'IDirective'를 잘못 구현합니다. '범위'속성 유형이 호환되지 않습니다. 유형 '{orientation : string; } '형식에 할당 할 수 없습니다'부울 | {[boundProperty : string] : 문자열; } '. 인덱스 서명이 '{orientation : string; } '
그리고 네 ng.IDirective
이
내 지시에 분리 범위를 만들 수있는 이상적인 방법은 무엇입니까 타입 scope?: boolean | {[boundProperty: string]: string};
의 범위 속성이 내 typings에서?
그래으로 시도 해 봤나하고 :(작동하지 않았다 – snippetkid
가 당신에게 컴파일 (타이프)의 오류를주고 (나는 angularjs.TypeScript.DefinitelyTyped 버전 6.5.5을 사용하고 있습니다)? –
예 컴파일 중 오류가 발생합니다. – snippetkid