Я пытался создать функцию select all
. Ниже мой компонент,
(function(){
var template = ' <table>\
<tr>\
<td rowspan=2><input type="checkbox" @change="allSelectChanged"/>All</td>\
</tr>\
<tr v-for="i in rows">\
<td ><input type="checkbox" ref="select" @change="changedSelection(i,$event)" />Selection {{i}}</td>\
</tr>\
</table>';
var component = {
template : template,
data:function(){
return {
rows:5
}
},
methods:{
allSelectChanged:function(e){
_.each(this.$refs.select,function(s){
s.checked = e.target.checked;
});
},
changedSelection:function(i,e){
console.log("Selection changed",i,e.target.checked);
}
}
}
Vue.component('sample', component);
})();
var app = new Vue({
el: '#app',
data: {
},
methods:{
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://underscorejs.org/underscore-min.js"></script>
</style>
<div id="app">
<sample />
</div>
Когда я проверял / снимал флажок, вызывается любая функция checbox changedSelection
. Но когда я установил / снял флажок all
, флажки устанавливаются, но соответствующая функция changedSelection
не вызывается.
Почему changedSelection
не вызывается, когда изменение производится через ref ??