diff --git a/pages.json b/pages.json
index ebaa3040178a622004ed2081d1092292b429fb23..8b5c09498c289165d7e476d0ce4a7672105a2ac4 100644
--- a/pages.json
+++ b/pages.json
@@ -601,6 +601,13 @@
{
"navigationBarTitleText" : "组件生命周期"
}
+ },
+ {
+ "path" : "pages/composition-api/dependency-injection/provide/provide",
+ "style" :
+ {
+ "navigationBarTitleText" : "依赖注入"
+ }
}
],
"tabBar": {
diff --git a/pages/composition-api/dependency-injection/provide/inject.uvue b/pages/composition-api/dependency-injection/provide/inject.uvue
new file mode 100644
index 0000000000000000000000000000000000000000..3b52b5f8a625ac8eb44da06a919556a2bf067b79
--- /dev/null
+++ b/pages/composition-api/dependency-injection/provide/inject.uvue
@@ -0,0 +1,28 @@
+
+
+ inject page
+ msg: {{msg}}
+ num: {{num}}
+ obj: {{obj}}
+ arr: {{arr}}
+ fn: {{(fn as () => string)()}}
+ hasInjectionContext:
+ {{checkHasInjectionContextRes}}
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/composition-api/dependency-injection/provide/provide-inject.test.js b/pages/composition-api/dependency-injection/provide/provide-inject.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..7ec742e986cff83b3f4c61a1f7799fe44740398c
--- /dev/null
+++ b/pages/composition-api/dependency-injection/provide/provide-inject.test.js
@@ -0,0 +1,34 @@
+const PAGE_PATH = '/pages/composition-api/dependency-injection/provide/provide'
+
+describe('provide-inject-hasInjectionContext', () => {
+ let page = null
+ beforeAll(async () => {
+ page = await program.reLaunch(PAGE_PATH)
+ await page.waitFor('view')
+ })
+ it('baisc', async () => {
+ const msg = await page.$('.msg')
+ expect(await msg.text()).toBe('msg: hello')
+
+ const num = await page.$('.num')
+ expect(await num.text()).toBe('num: 0')
+
+ const obj = await page.$('.obj')
+ expect(await obj.text()).toBe('obj: {"a":1}')
+
+ const arr = await page.$('.arr')
+
+ expect(await arr.text()).toBe('arr: [1,2,3]')
+
+ const fn = await page.$('.fn')
+ expect(await fn.text()).toBe('fn: hello')
+
+ const hasInjectionContext = await page.$('.has-injection-context')
+ expect(await hasInjectionContext.text()).toBe('hasInjectionContext: true')
+
+ const checkHasInjectionContextBtn = await page.$('.check-has-injection-context-btn')
+ await checkHasInjectionContextBtn.tap()
+
+ expect(await hasInjectionContext.text()).toBe('hasInjectionContext: false')
+ })
+})
\ No newline at end of file
diff --git a/pages/composition-api/dependency-injection/provide/provide.uvue b/pages/composition-api/dependency-injection/provide/provide.uvue
new file mode 100644
index 0000000000000000000000000000000000000000..4022ed0f5f8d0994312a2928c917c3470cd837c4
--- /dev/null
+++ b/pages/composition-api/dependency-injection/provide/provide.uvue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/tab-bar/composition-api.uvue b/pages/tab-bar/composition-api.uvue
index 64814f7fae8ca3de59f191518d506e95858237b2..56785460f1da7e268c070899c903de51d80ebae0 100644
--- a/pages/tab-bar/composition-api.uvue
+++ b/pages/tab-bar/composition-api.uvue
@@ -324,17 +324,33 @@
name: '生命周期',
open: false,
pages: [
- {
- name: '页面生命周期',
- url: 'page-lifecycle',
- enable: true,
- },
- {
- name: '组件生命周期',
- url: 'component-lifecycle',
- enable: true,
+ {
+ name: '页面生命周期',
+ url: 'page-lifecycle',
+ enable: true,
+ },
+ {
+ name: '组件生命周期',
+ url: 'component-lifecycle',
+ enable: true,
},
]
+ }, {
+ id: 'dependency-injection',
+ name: '依赖注入',
+ open: false,
+ pages: [
+ {
+ name: 'provide',
+ url: 'provide',
+ // #ifdef APP
+ enable: true,
+ // #endif
+ // #ifdef WEB
+ enable: false,
+ // #endif
+ }
+ ]
}
] as PageList[]