VueJS - 函数的结果作为 Prop 的默认值
VueJS - Result of a function as default value for a Prop
使用带有 class 组件和 vue-property-decorator
的 VueJS 我正在尝试编写一个带有默认为新 uuid 的 uuid
Prop 的 Vue 组件(使用 npm 包 uuid
) 未提供时:
import {Component, Prop, Vue} from 'vue-property-decorator';
import * as uuid from 'uuid';
@Component
export default class BlockComponent extends Vue {
@Prop({default: uuid.v1()}) uuid!: string;
}
因此,当在实例化时给出服务器提供的 uuid 时,它会在前端使用,如果不是,则意味着它是一个新元素,应该为该组件生成一个新的 uuid。我在这段代码中遇到的问题是,我最终会生成多个具有相同 uuid
(但不是全部)的组件。
根据documentation,您可以使用构造函数,因此可以传递函数。
@Prop(options: (PropOptions | Constructor[] | Constructor) = {})
使用带有 class 组件和 vue-property-decorator
的 VueJS 我正在尝试编写一个带有默认为新 uuid 的 uuid
Prop 的 Vue 组件(使用 npm 包 uuid
) 未提供时:
import {Component, Prop, Vue} from 'vue-property-decorator';
import * as uuid from 'uuid';
@Component
export default class BlockComponent extends Vue {
@Prop({default: uuid.v1()}) uuid!: string;
}
因此,当在实例化时给出服务器提供的 uuid 时,它会在前端使用,如果不是,则意味着它是一个新元素,应该为该组件生成一个新的 uuid。我在这段代码中遇到的问题是,我最终会生成多个具有相同 uuid
(但不是全部)的组件。
根据documentation,您可以使用构造函数,因此可以传递函数。
@Prop(options: (PropOptions | Constructor[] | Constructor) = {})