vue намеренно ограничивает кол-во аргументов в своих стандартных функциях, только ОДИН объект, объясняется это тем что объект нагляднее читается в коде чем просто список аргументов:
mySuperFunction1(ignoreCache, isReverse, removeEmpty, visible) { ... }
mySuperFunction2({ignoreCache, isReverse, removeEmpty, visible}) { ... }
mySuperFunction1(false, true, true, true);
mySuperFunction2({
ignoreCache: false,
isReverse: true,
removeEmpty: true,
visible: true
})
В вашем случаи в $emit можно передавать массив
$emit(`name`, [arg1, arg2]);
А снаружи раскладывать массив стандартной es6 операцией:
@событие="metod(...$event)"