UNPKG

3.24 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
9function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
11// plugin/pages.js
12// 缓存pageModel,一个简要实现
13var PM = function () {
14 function PM() {
15 _classCallCheck(this, PM);
16
17 this.$$cache = {};
18 }
19
20 _createClass(PM, [{
21 key: "add",
22 value: function add(pageModel) {
23 var pagePath = this._getPageModelPath(pageModel);
24 this.$$cache[pagePath] = pageModel;
25 }
26 }, {
27 key: "get",
28 value: function get(pagePath) {
29 return this.$$cache[pagePath];
30 }
31 }, {
32 key: "delete",
33 value: function _delete(pageModel) {
34 try {
35 delete this.$$cache[this._getPageModelPath(pageModel)];
36 } catch (e) {}
37 }
38 }, {
39 key: "_getPageModelPath",
40 value: function _getPageModelPath(page) {
41 // 关键点
42 return page.$wxpage.__route__;
43 }
44 }]);
45
46 return PM;
47}();
48
49exports.default = PM;
50//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhhY2suanMiXSwibmFtZXMiOlsiUE0iLCIkJGNhY2hlIiwicGFnZU1vZGVsIiwicGFnZVBhdGgiLCJfZ2V0UGFnZU1vZGVsUGF0aCIsImUiLCJwYWdlIiwiJHd4cGFnZSIsIl9fcm91dGVfXyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQ0E7SUFDcUJBLEU7QUFDbkIsZ0JBQWM7QUFBQTs7QUFDWixTQUFLQyxPQUFMLEdBQWUsRUFBZjtBQUNEOzs7O3dCQUVHQyxTLEVBQVc7QUFDYixVQUFJQyxXQUFXLEtBQUtDLGlCQUFMLENBQXVCRixTQUF2QixDQUFmO0FBQ0EsV0FBS0QsT0FBTCxDQUFhRSxRQUFiLElBQXlCRCxTQUF6QjtBQUNEOzs7d0JBRUdDLFEsRUFBVTtBQUNaLGFBQU8sS0FBS0YsT0FBTCxDQUFhRSxRQUFiLENBQVA7QUFDRDs7OzRCQUVNRCxTLEVBQVc7QUFDaEIsVUFBSTtBQUNGLGVBQU8sS0FBS0QsT0FBTCxDQUFhLEtBQUtHLGlCQUFMLENBQXVCRixTQUF2QixDQUFiLENBQVA7QUFDRCxPQUZELENBRUUsT0FBT0csQ0FBUCxFQUFVLENBQ1g7QUFDRjs7O3NDQUVpQkMsSSxFQUFNO0FBQ3JCO0FBQ0QsYUFBT0EsS0FBS0MsT0FBTCxDQUFhQyxTQUFwQjtBQUNEOzs7Ozs7a0JBeEJrQlIsRSIsImZpbGUiOiJoYWNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcGx1Z2luL3BhZ2VzLmpzXG4vLyDnvJPlrZhwYWdlTW9kZWws5LiA5Liq566A6KaB5a6e546wXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQTSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuJCRjYWNoZSA9IHt9XG4gIH1cblxuICBhZGQocGFnZU1vZGVsKSB7XG4gICAgbGV0IHBhZ2VQYXRoID0gdGhpcy5fZ2V0UGFnZU1vZGVsUGF0aChwYWdlTW9kZWwpXG4gICAgdGhpcy4kJGNhY2hlW3BhZ2VQYXRoXSA9IHBhZ2VNb2RlbFxuICB9XG5cbiAgZ2V0KHBhZ2VQYXRoKSB7XG4gICAgcmV0dXJuIHRoaXMuJCRjYWNoZVtwYWdlUGF0aF1cbiAgfVxuXG4gIGRlbGV0ZShwYWdlTW9kZWwpIHtcbiAgICB0cnkge1xuICAgICAgZGVsZXRlIHRoaXMuJCRjYWNoZVt0aGlzLl9nZXRQYWdlTW9kZWxQYXRoKHBhZ2VNb2RlbCldXG4gICAgfSBjYXRjaCAoZSkge1xuICAgIH1cbiAgfVxuXG4gIF9nZXRQYWdlTW9kZWxQYXRoKHBhZ2UpIHtcbiAgICAgLy8g5YWz6ZSu54K5XG4gICAgcmV0dXJuIHBhZ2UuJHd4cGFnZS5fX3JvdXRlX19cbiAgfVxuICAgfVxuIl19
\No newline at end of file