如何基于不同的md-select选项加载md-select绑定问题

问题描述

你好,我是aurelia js的新手,我遇到一个有约束力的问题, 我在页面上有两个md-select下拉菜单,当表单加载时,它会填充一个Shops列表,可以像下面这样正确地工作

    <select md-select="label:Shop" value.two-way="addShopProfile.shopId" change.delegate="getItems(addShopProfile.shopId)">
   <option value="" disabled selected>Please select</option>
    <option repeat.for="shop of shops" value.bind="shop.id">${shop.name}</option>
    </select>

您可以看到我有一个change.delegate="getItems(addShopProfile.shopId)">原因,因为我希望波纹管下拉菜单根据商店ID加载商店的商品

<select md-select="label: Items" if.bind="addShopProfile.shopId" value.two-way="addShopProfile.ItemsId">
   <option value="" disabled selected>Please select</option>
   <option repeat.for="item of Items" value.bind="item.id">${item.name}</option>
   </select>

现在,仅当我单击选择选项以更改商店时才加载项目(正确)。 如果商店在表格上加载,除非我单击它,否则该商店的项目不会显示

如何绑定项目选择选项以使其在已经加载的商店中立即加载,而不必单击商店选择选项在首次出现时进行更改

解决方法

我通常要解决的问题是将我的函数(在您的情况下)称为Aurelia向我们提供的getItems(addShopProfile.shopId)函数中的attached。即

attached()
{
getItem(id here)
}

因此,一旦加载dom,您的选择字段也将根据您提供的ID加载数据。