项目原始demo,不改动
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.
 
 
 
 

37 linhas
627 B

  1. import Vue from 'vue';
  2. export function factory(prop = 'value', event = 'input') {
  3. return Vue.extend({
  4. name: 'toggleable',
  5. model: {
  6. prop,
  7. event
  8. },
  9. props: {
  10. [prop]: {
  11. required: false
  12. }
  13. },
  14. data() {
  15. return {
  16. isActive: !!this[prop]
  17. };
  18. },
  19. watch: {
  20. [prop](val) {
  21. this.isActive = !!val;
  22. },
  23. isActive(val) {
  24. !!val !== this[prop] && this.$emit(event, val);
  25. }
  26. }
  27. });
  28. }
  29. /* eslint-disable-next-line no-redeclare */
  30. const Toggleable = factory();
  31. export default Toggleable;
  32. //# sourceMappingURL=index.js.map