computed.sync.js 436 B

123456789101112131415161718
  1. let sg = (src) => {};
  2. export default function(name, getCallback, setCallback) {
  3. return {
  4. get() {
  5. if (getCallback) {
  6. return getCallback(this[name]);
  7. }
  8. return this[name];
  9. },
  10. set(v) {
  11. if (setCallback) {
  12. v = setCallback(v);
  13. }
  14. this.$emit(name == "value" ? `input` : `update:${name}`, v);
  15. }
  16. };
  17. }