Я использую ядро NativeScript 5.0, и похоже, что нет способа сделать события textChange в текстовых полях.Моя идея примерно такая:
<TextField class="width90" text="{{ productPrize }}" editable="true" textChange="{{ onTexTextChange }}"/>
и в js:
exports.onReSonTexTextChangecanPrize = function (args) {
alert(test);
};
этот синтаксис отлично работает для меня в событиях "tap", но я читаю что-то вроде нет методадля этого o NativeScript core 5.0.
Я нашел в NocScript doc метод, выполняющий эту работу в модуле:
const observableModule = require("tns-core-modules/data/observable");
function HomeViewModel() {
const viewModel = observableModule.fromObject({
productCode: "",
productPrize: ""
});
viewModel.addEventListener(observableModule.Observable.propertyChangeEvent, (args) => {
// args is of type PropertyChangeData
console.log("propertyChangeEvent [eventName]: ", args.eventName);
console.log("propertyChangeEvent [propertyName]: ", args.propertyName);
console.log("propertyChangeEvent [value]: ", args.value);
console.log("propertyChangeEvent [oldValue]: ", args.oldValue);
console.log("propertyChangeEvent [object]: ", args.object);
});
return viewModel;
}
module.exports = HomeViewModel;
Я получаю логи правильно, но я не знаюкак экспортировать соответствующее значение в модель.
У меня есть этот код для подключения к представлению:
const HomeViewModel = require("./home-view-model");
exports.onNavigatingTo = function(args) {
page = args.object;
mv = page.bindingContext = new HomeViewModel();
};
Я хотел бы знать, как я могу сделать это, как пример, но этобудет интересно узнать, как это может быть разработано на модуле.