From 553e6d715985ed302a87e5122440c2d6e97746e2 Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 12 Aug 2021 21:24:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/4.widget.js | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/core/4.widget.js b/src/core/4.widget.js index 69cf7e29a..81e6faeb5 100644 --- a/src/core/4.widget.js +++ b/src/core/4.widget.js @@ -104,11 +104,28 @@ _initRender: function () { var self = this; - - function render () { + var initCallbackCalled = false; + var renderCallbackCalled = false; + + function init () { + // 加个保险 + if (initCallbackCalled === true) { + _global.console && console.error("组件: 请检查beforeInit内部的写法,callback只能执行一次"); + return; + } + initCallbackCalled = true; + function render () { + // 加个保险 + if (renderCallbackCalled === true) { + _global.console && console.error("组件: 请检查beforeRender内部的写法,callback只能执行一次"); + return; + } + renderCallbackCalled = true; + self._render(); + } if (self.options.beforeRender || self.beforeRender) { self.__async = true; - (self.options.beforeRender || self.beforeRender).call(self, BI.bind(self._render, self)); + (self.options.beforeRender || self.beforeRender).call(self, render); } else { self._render(); } @@ -116,9 +133,9 @@ if (this.options.beforeInit || this.beforeInit) { this.__asking = true; - (this.options.beforeInit || this.beforeInit).call(this, render); + (this.options.beforeInit || this.beforeInit).call(this, init); } else { - render(); + init(); } },