/*! For license information please see 3004.9238b459.js.LICENSE.txt */ (self.webpackChunk=self.webpackChunk||[]).push([["3004"],{17169:function(s,n,a){"use strict";a.r(n);var l=a("80681");let t=["innerHTML"];n.default={setup:()=>({html:""}),render:()=>((0,l.wg)(),(0,l.iD)("div",{class:"van-doc-markdown-body",innerHTML:'

useRelation

\n

\u4ECB\u7ECD

\n

\u5EFA\u7ACB\u7236\u5B50\u7EC4\u4EF6\u4E4B\u95F4\u7684\u5173\u8054\u5173\u7CFB\uFF0C\u8FDB\u884C\u6570\u636E\u901A\u4FE1\u548C\u65B9\u6CD5\u8C03\u7528\uFF0C\u57FA\u4E8E provide \u548C inject \u5B9E\u73B0\u3002

\n

\u4EE3\u7801\u6F14\u793A

\n

\u57FA\u672C\u7528\u6CD5

\n

\u5728\u7236\u7EC4\u4EF6\u4E2D\u4F7F\u7528 useChildren \u5173\u8054\u5B50\u7EC4\u4EF6:

\n
import { ref } from 'vue';\nimport { useChildren } from '@vant/use';\n\nconst RELATION_KEY = Symbol('my-relation');\n\nexport default {\n  setup() {\n    const { linkChildren } = useChildren(RELATION_KEY);\n\n    const count = ref(0);\n    const add = () => {\n      count.value++;\n    };\n\n    // \u5411\u5B50\u7EC4\u4EF6\u63D0\u4F9B\u6570\u636E\u548C\u65B9\u6CD5\n    linkChildren({ add, count });\n  },\n};\n
\n

\u5728\u5B50\u7EC4\u4EF6\u4E2D\u4F7F\u7528 useParent \u83B7\u53D6\u7236\u7EC4\u4EF6\u63D0\u4F9B\u7684\u6570\u636E\u548C\u65B9\u6CD5:

\n
import { useParent } from '@vant/use';\n\nexport default {\n  setup() {\n    const { parent } = useParent(RELATION_KEY);\n\n    // \u8C03\u7528\u7236\u7EC4\u4EF6\u63D0\u4F9B\u7684\u6570\u636E\u548C\u65B9\u6CD5\n    if (parent) {\n      parent.add();\n      console.log(parent.count.value); // -> 1\n    }\n  },\n};\n
\n

API

\n

\u7C7B\u578B\u5B9A\u4E49

\n
function useParent<T>(key: string | symbol): {\n  parent?: T;\n  index?: Ref<number>;\n};\n\nfunction useChildren(key: string | symbol): {\n  children: ComponentPublicInstance[];\n  linkChildren: (value: any) => void;\n};\n
\n

useParent \u8FD4\u56DE\u503C

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53C2\u6570\u8BF4\u660E\u7C7B\u578B
parent\u7236\u7EC4\u4EF6\u63D0\u4F9B\u7684\u503Cany
index\u5F53\u524D\u7EC4\u4EF6\u5728\u7236\u7EC4\u4EF6\u7684\u6240\u6709\u5B50\u7EC4\u4EF6\u4E2D\u5BF9\u5E94\u7684\u7D22\u5F15\u4F4D\u7F6ERef<number>
\n

useChildren \u8FD4\u56DE\u503C

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53C2\u6570\u8BF4\u660E\u7C7B\u578B
children\u5B50\u7EC4\u4EF6\u5217\u8868ComponentPublicInstance[]
linkChildren\u5411\u5B50\u7EC4\u4EF6\u63D0\u4F9B\u503C\u7684\u65B9\u6CD5(value: any) => void
\n
'},null,8,t))}}}]);