Capture propertyChange event on ListView item


#1

I don’t mean to be doing anything unusual, but binding/capturing a propertyChange event on ListView item continues to elude me.

I’ve got this in my page.xml

        <ListView items="{{ items }}">
            <ListView.itemTemplate>
                <StackLayout>
                    <Label text="{{ label }}"  class="data-field-label" isUserInteractionEnabled="false"/>
                    <TextField text="{{ value, value }}" propertyChange="saveFile" class="data-text-field"/>
                </StackLayout>
            </ListView.itemTemplate>
        </ListView>

and, I’ve tried this in my page.ts

export function saveFile(args: PropertyChangeData) {
    console.log("Changed: " + args.value);
}

and, I’ve tried this in my page-view-model.ts

    public saveFile(args: PropertyChangeData) {
        console.log("Changed: " + args.value);
    }

But, neither of those will get triggered on changing the data in the field.

What am I missing?

Ultimately, i wish to write the new data to the file-system on every field change. Is there a better pattern to accomplish this?