【发布时间】:2016-06-14 02:56:10
【问题描述】:
我有一张员工表。每个员工都有一个角色,我正在尝试使用单选按钮(例如单选按钮管理员或超级管理员)对其进行过滤。
如何在另一个组件中使用一个组件内的变量?现在我有这个:
<template id="searchemployees">
<div class="form-group">
<label class="col-md-2 control-label">Filter</label>
<div class="col-md-10">
<div class="radio radio-primary">
<label>
<input type="radio" name="intern" id="intern" value="intern" v-model="selectedrole"/>
Toon alles
</label>
</div>
<div class="radio radio-primary">
<label>
<input type="radio" name="employee" id="employee" value="employee" v-model="selectedrole">
Stagiaire
</label>
</div>
</div>
</div>
</template>
<template id="employees">
<table class="table">
<thead>
<tr>
<th>Logo</th>
<th>Bedrijfsnaam</th>
<th>Plaats</th>
</tr>
</thead>
<tbody>
<tr class="table-row-link" data-href="" v-for="employee in list | role selectedrole">
<td><img class="img-circle-company" src=""/></td>
<td>@{{ employee.role.RoleName }}</td>
<td>@{{ employee.LastName }}</td>
</tr>
</tbody>
</table>
</template>
<script>
Vue.config.debug = true;
Vue.filter('role',function(value,role)
{
if(!role || 0 === role.length)
{
return value;
}
return value.filter(function(item) {
return item.role.RoleName == role
});
});
Vue.component('searchemployees', {
template: '#searchemployees'
});
Vue.component('employees', {
template: '#employees',
props:['list'],
created() {
this.list = JSON.parse(this.list);
}
});
new Vue({
el: 'body'
});
</script>
在我的#searchemployees中,它选择了正确的角色。但是如何在#employees 中使用它作为我的过滤器?
谢谢
【问题讨论】:
-
你想在你的组件之间传递什么变量?我假设它是
props:['list']? -
@10000RubyPools 实际上我希望列表项是全局的,这样我就可以从任何组件访问它。
标签: javascript php vue.js