The App works But I am getting a warning

nativescriptcore

#1

I am dynamically adding components the app works and the biding are working but I keep receiving this warning:

JS: Binding: Property: ‘name’ is invalid or does not exist. SourceProperty: ‘name’
JS: Binding: Property: ‘price’ is invalid or does not exist. SourceProperty: ‘price’
JS: Binding: Property: ‘openItem’ is invalid or does not exist. SourceProperty: ‘openItem’

Here how I am adding

const builder = require(“ui/builder”);

viewModel.loadData = function() {
const container = page.getViewById(‘itemLayout’);
container.removeChildren();
let itemComponent = null;
functions.arrItem.forEach(function(entry) {
console.log(’>39>this.itemId’,entry.id);
if(viewModel.itemId != entry.id){
itemComponent = builder.load({
path: ‘~/shared/’,
name: “item-item”,
attributes: {
bindingContext: {Item:entry}
}
});
container.addChild(itemComponent);
}
});
}

MY XML

<StackLayout orientation="horizontal" margin="2 2%" loaded="loaded">
	<Image src="~/images/item.png" margin="0" stretch="aspectFit" width="5%"/>
	<Label text="{{name}}" margin="0" class="h3 m-y-auto" width="45%"/>
	<Label text="{{price}}" margin="0" class="h3 m-y-auto" width="30%"/>
	<Button text="{{btn}}" margin="0" tap="{{openItem}}" class="btn btn-primary btn-rounded-lg btn-active" width="20%" />
</StackLayout>

THE JS

const observableModule = require(“data/observable”);
const frameModule = require(“ui/frame”);

function BasicViewModel(page) {
const viewModel = new observableModule.Observable();
const Item = page.bindingContext.Item;

viewModel.getItemName = function () {
    return Item.name;
}
viewModel.getItemPrice = function () {
    if(Item.price)
        return Item.quota + " $" + Item.price;
    return;
}

viewModel.openData = function() {
    const navigationEntry = {
        moduleName: "new-frame/new-frame-page",
        context: {
            Item: Item,
            source: source
        }
    };
    frameModule.topmost().navigate(navigationEntry);
}

viewModel.set('name', viewModel.getItemName());
viewModel.set('price', viewModel.getItemPrice());

return viewModel;

}

function loaded(args) {
const page = args.object;
page.bindingContext = new BasicViewModel(page);
}

exports.loaded = loaded;