Javascript 리소스에 어떻게 바인딩합니까?가져온 Javascript 속성에 바인딩
저는 QML을 처음 접했을 뿐이므로이 방법을 잘못 생각한 것 같습니다.하지만 아래 예제에서 "World"라고 말하기를 원합니다.
main.qml
import QtQuick 2.0
import QtQuick.Controls 1.0
import "model.js" as Model
Button {
id: button
text: Model.text
onClicked: {
Model.text = "World";
print("Model.text is:", Model.text)
print("button.text is:", button.text)
// Model.text is "World"
// button.text is "Hello"
// They should both be "World"
}
}
model.js
var text = "Hello";
나는 또한 Qt.binding
를 사용했지만, 그 차이를 만들지 않았다.
main.qml 내가 찾고 그 결과는 창 높이, 색상 및 이미지 경로 등의 전용 자바 스크립트 자원의 속성을 가지고 항목 중하는 것입니다
import QtQuick 2.0
import QtQuick.Controls 1.0
import "model.js" as Model
Button {
onClicked: {
Model.text = "World";
}
Component.onCompleted: {
text = Qt.binding(function() { return Model.text })
}
}
그것들을 사용하여 자원에 대한 모든 변경 사항과 동기화 상태를 유지합니다.
편집 관련 질문을 찾을 수
: declare global property in QML for other QML files
Javascript 속성이 업데이트 될 때 버튼의 텍스트를 업데이트하고 싶습니다. 업데이트 된 예제를 참조하십시오. –