framework4js
Version:
Framework-for-js is a better Javascript's framework
85 lines (82 loc) • 2.24 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 {string} name
* @param {function} 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);
};
}
/**
* Method registerEventListeners 批量注册监听
*/
}, {
key: "registerEventListeners",
value: function registerEventListeners() {
// this.addEventListener(name,()=>{})
// this.addEventListener(name,()=>{})
// this.addEventListener(name,()=>{})
}
}]);
return Model;
}();
exports["default"] = Model;