|
|
|
@ -3156,27 +3156,24 @@
|
|
|
|
|
}, |
|
|
|
|
created: function () { |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|
// 嵌套路由 + single 下父亲执行setSelect后会执行一遍push + _callbackListener,之后在cbs.forEach下会执行到刚push进去的_callbackListener导致执行两次,这里加一个nextTick让forEach走不到新push进去的方法。
|
|
|
|
|
BI.nextTick(function () { |
|
|
|
|
cbs.push(self._callbackListener = function () { |
|
|
|
|
var current = $router.history.current; |
|
|
|
|
// 匹配的路径名(/component/:id)
|
|
|
|
|
var matchedPath = current.matched[o.deps] && current.matched[o.deps].path; |
|
|
|
|
var component = current.matched[o.deps] && current.matched[o.deps].components[o.name]; |
|
|
|
|
|
|
|
|
|
if (BI.isNotNull(component)) { |
|
|
|
|
if (matchedPath) { |
|
|
|
|
BI.each(current.params, function (key, value) { |
|
|
|
|
// 把 :id 替换成具体的值(/component/demo.td)
|
|
|
|
|
matchedPath = matchedPath.replace(`:${key}`, value); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
self.tab.setSelect(matchedPath || "/"); |
|
|
|
|
cbs.push(this._callbackListener = function () { |
|
|
|
|
var current = $router.history.current; |
|
|
|
|
// 匹配的路径名(/component/:id)
|
|
|
|
|
var matchedPath = current.matched[o.deps] && current.matched[o.deps].path; |
|
|
|
|
var component = current.matched[o.deps] && current.matched[o.deps].components[o.name]; |
|
|
|
|
|
|
|
|
|
if (BI.isNotNull(component)) { |
|
|
|
|
if (matchedPath) { |
|
|
|
|
BI.each(current.params, function (key, value) { |
|
|
|
|
// 把 :id 替换成具体的值(/component/demo.td)
|
|
|
|
|
matchedPath = matchedPath.replace(`:${key}`, value); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
// "bi.router_view"是由"bi.tab"实现的,cardCreator是一个异步过程,在"bi.router_view"创建之前,cbs里不会有创建子组件的方法,在初始化路由时,没法直接渲染到子组件,所以这里手动加了一次调用
|
|
|
|
|
self._callbackListener(); |
|
|
|
|
self.tab.setSelect(matchedPath || "/"); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
// "bi.router_view"是由"bi.tab"实现的,cardCreator是一个异步过程,在"bi.router_view"创建之前,cbs里不会有创建子组件的方法,在初始化路由时,没法直接渲染到子组件,所以这里手动加了一次调用
|
|
|
|
|
this._callbackListener(); |
|
|
|
|
}, |
|
|
|
|
render: function () { |
|
|
|
|
var self = this, o = this.options; |
|
|
|
|