Как связать с ресурсом Javascript?Привязать к импортированному свойству Javascript
Я новичок в QML и, вероятно, думаю об этом неправильно, но в приведенном ниже примере я хочу, чтобы кнопка «Мир», когда я нажимаю ее.
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 })
}
}
Конечный результат я ищу, чтобы иметь свойства в выделенном ресурсе Javascript, такие как высота окна, цвета и изображения путей и т.д., и есть какой пункт используя их, чтобы оставаться в синхронизации с любыми изменениями, внесенными в ресурс.
Редактировать
Найдено связанный с этим вопрос: declare global property in QML for other QML files
Я хочу, чтобы кнопка обновила свой текст при обновлении свойства Javascript. См. Мой обновленный пример. –