parent
80a58ac116
commit
67ac6a7e95
|
@ -17,9 +17,9 @@
|
||||||
### 一些注意事项
|
### 一些注意事项
|
||||||
|
|
||||||
- 路由不支持嵌套, 即`<router-view></router-view>`只能出现`1`次。
|
- 路由不支持嵌套, 即`<router-view></router-view>`只能出现`1`次。
|
||||||
- `$router`和`$route`对象, 只注入到一级路由页面, 页面引用的其他`web components`组件, 不会注入。
|
- `$router`对象, 只注入到使用`wkit`创建的组件, 其他地方可以使用`getRouter()`获取`$router`对象。
|
||||||
- 所有路由页面和组件, 均可使用`getCurrentPage()`获取当前的`$route`对象; 同时可以使用`getRouter()`获取`$router`对象。
|
- 所有路由页面和组件, 均可使用`getCurrentPage()`获取当前的页面的信息; 也可以用`$router.route`获取。
|
||||||
- `$store`对象, 只注入到一级路由页面, 其他组件可使用`getStore()`获取。
|
- `$store`对象, 只注入到使用`wkit`创建的组件, 其他组件可使用`getStore()`获取。
|
||||||
- `$store`对象为非响应式, 后续可能会支持(时间无限期延后)。
|
- `$store`对象为非响应式, 后续可能会支持(时间无限期延后)。
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "wkitd",
|
"name": "wkitd",
|
||||||
"version": "0.0.0",
|
"version": "1.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"files": [
|
"files": [
|
||||||
|
|
13
src/index.js
13
src/index.js
|
@ -31,7 +31,6 @@ export function createApp({
|
||||||
}
|
}
|
||||||
this.mount = function () {
|
this.mount = function () {
|
||||||
let $router = window.__wkitd__.get('$router')
|
let $router = window.__wkitd__.get('$router')
|
||||||
window.foo = $router
|
|
||||||
if (render) {
|
if (render) {
|
||||||
App.prototype.render = render
|
App.prototype.render = render
|
||||||
} else {
|
} else {
|
||||||
|
@ -87,3 +86,15 @@ export function createApp({
|
||||||
}
|
}
|
||||||
})()
|
})()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getStore() {
|
||||||
|
return window.__wkitd__.get('$store')
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getRouter() {
|
||||||
|
return window.__wkitd__.get('$router')
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getCurrentPage() {
|
||||||
|
return window.__wkitd__.get('$router')?.route
|
||||||
|
}
|
||||||
|
|
|
@ -16,11 +16,10 @@ export function createRouter({
|
||||||
let $router = history()
|
let $router = history()
|
||||||
|
|
||||||
window.__wkitd__.set('$router', $router)
|
window.__wkitd__.set('$router', $router)
|
||||||
Component.prototype.$router = $router
|
|
||||||
|
|
||||||
$router.addRoute(routes)
|
$router.addRoute(routes)
|
||||||
function wrapper() {
|
function wrapper() {
|
||||||
return $router
|
Component.prototype.$router = $router
|
||||||
}
|
}
|
||||||
wrapper.beforeEach = $router.beforeEach.bind($router)
|
wrapper.beforeEach = $router.beforeEach.bind($router)
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
22
src/store.js
22
src/store.js
|
@ -7,11 +7,25 @@
|
||||||
import { Component } from 'wkit'
|
import { Component } from 'wkit'
|
||||||
|
|
||||||
export function createStore(obj = {}) {
|
export function createStore(obj = {}) {
|
||||||
window.__wkitd__.$store = obj
|
window.__wkitd__.set(
|
||||||
|
'$store',
|
||||||
Component.prototype.$store = obj
|
new Proxy(obj, {
|
||||||
|
set(target, prop, value) {
|
||||||
|
target[prop] = value
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
return function () {
|
return function () {
|
||||||
//
|
Object.defineProperty(Component.prototype, '$store', {
|
||||||
|
get() {
|
||||||
|
return window.__wkitd__.get('$store')
|
||||||
|
},
|
||||||
|
set(val) {
|
||||||
|
console.error('Can not replace readonly property $store of Component')
|
||||||
|
},
|
||||||
|
enumerable: false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue