@ztes/corejs
Version:
Core-js is a better Javascript's framework
92 lines (74 loc) • 2.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
/**
* Class Model 模型类 Vuex适用 亦可修改为其他
* 1.首先搞明白数据的来源 <1>通过request获取 <2>通过获取存储的内容获取
* 2.Model的作用
*/
var Model = /*#__PURE__*/function () {
function Model() {
(0, _classCallCheck2.default)(this, Model);
// namespaced
this.namespaced = true; // alias
this.alias = null; // state
this.state = this.data(); // mutations
this.mutations = {}; // actions
this.actions = {}; // getters
this.getters = this.setGetters(); // register EventListeners
this.registerEventListeners();
}
(0, _createClass2.default)(Model, [{
key: "data",
value: function data() {
return {};
}
}, {
key: "computed",
value: function computed() {
return {
state: function state() {
return this.state;
}
};
}
}, {
key: "setGetters",
value: function setGetters() {
return this.computed();
}
/**
* addEventListener 添加监听
* @param {*} name
* @param {*} callback
*/
}, {
key: "addEventListener",
value: function addEventListener(name, callback) {
var _this = this;
// 注册 mutations
this.mutations[name] = function (state, payload) {
callback.call(_this, state, payload);
}; // 注册 actions
this.actions[name] = function (context, payload) {
context.commit(name, payload);
};
}
/**
* registerEventListeners 批量注册监听
*/
}, {
key: "registerEventListeners",
value: function registerEventListeners() {// this.addEventListener(name,()=>{})
// this.addEventListener(name,()=>{})
// this.addEventListener(name,()=>{})
}
}]);
return Model;
}();
exports.default = Model;