我想列出商店中的用户。当我使用下面的用户模型时,这是100%工作。
// Model
store : { type: Array },
然后是每个商店的单选按钮。
<!-- Button for 'all' users -->
<label class="btn-l33t" ng-model="radio.model" btn-radio="allstores">
{{global.user.company || 'null'}}
</label>
<!-- Button that filters users by store. 100% working -->
<ul>
<li ng-repeat="store in global.user.store">
<label class="btn-l33t" ng-model="radio.model" btn-radio="store">
{{store}}
</label>
</li>
</ul>
最后是用户表
<!-- Show user if store is in user.store -->
<!-- 100% working -->
<tr ng-show="user.store.indexOf(radio.model) != -1 || radio.model === allstores" data-ng-repeat="user in users">
所以现在我改变了我的模型。 stores数组接受一个对象,因此我们可以在商店中包含部分。
store: {
type: Array,
thing: {
name: String,
section: Array,
}
},
此用户列表工作正常,但用户表不再进行过滤。检查单选按钮什么都不做。我更新了单选按钮,它们显示了商店名称&amp;完美的部分。
<label class="btn-l33t" ng-model="radio.model" btn-radio="allstores">
{{global.user.company || 'null'}}
</label>
<ul>
<li ng-repeat="store in global.user.store">
<label class="btn-l33t" ng-model="radio.model" btn-radio="store">
{{store.name}} <!-- changed {{store}} to {{store.name}} -->
<!-- for some reason it's store.name and not store.thing.name -->
</label>
<!-- added sections. This is working fine -->
<ul>
<li ng-repeat="section in store.section" >
<label class="btn-l33t" ng-model="radio.model2" btn-radio="section">
{{section}}
</label>
</li>
</ul>
</li>
</ul>
我遇到问题的是列出用户的表格。不知道该把它放在这里解决它。
<tr ng-show="user.store.thing.name.indexOf(radio.model.name) != -1 || radio.model === null" data-ng-repeat="user in users">
编辑/更新:这就是我添加商店的方式:
var obj ={
name: $scope.datStore.name,
section: ["grocery","utensils"]
}
user3[0].store.push(obj);
也许这就是stores.name有效的原因,而不是stores.thing.name。但是,不应该更新模型吗?由于某种原因,模特接受了这一点。
答案 0 :(得分:0)
根据您的最新动态,store
具有以下结构:
store: [
{name:'name1', section:['section1', 'section2']},
{name:'name2', section:['section3', 'section4']}
]
因此,我认为您想要做的是:
<tr ng-show="!radio.model || (user.store|filter : {name : radio.model.name}).length > 0" data-ng-repeat="user in users">