문제

Javafx 튜토리얼 및 샘플을 살펴보면 바인딩은 항상 Varibale 선언 중에 이루어집니다.

def y = bind x;

또는

def address = Address {
  street: bind myStreet;
};

그러나 나는 어떻게해야합니까? 제 경우에는 fxdloader에 svgpath를로드 한 다음 svgpath.visible을 변수에 바인딩하려고합니다. 이것을 어떻게 달성 할 수 있습니까?

var data = true;
var fxdContent = FXDLoader.load("{__DIR__}plan.fxz");
var sc = fxdContent.lookup("SC0013") as SVGPath;
sc.visible = bind data; //That doesn't work
도움이 되었습니까?

해결책

대신 교체 트리거를 사용할 수 있습니다

var fxdContent = FXDLoader.load("{__DIR__}plan.fxz");
var sc = fxdContent.lookup("SC0013") as SVGPath;
var data = true on replace {
    sc.visible = data;
}

당신은 또한 할 수 있습니다 :

def data = bind sc.visible with inverse;

이렇게하면 두 변수 간의 양방향 업데이트가 제공됩니다. 에 따르면 언어 사양, 당신은 다른 곳에서 "바인딩"을 사용할 수 없습니다.

다른 팁

예, 변수를 선언 할 때만 변수를 바인딩 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top