在 Vue 中,您可以从方法中调用 created() 函数吗?
In Vue can you call the created() function from a method?
所以我在 vue 中制作了一个应用程序,在页面加载时它使用用户的 zip 获取一个 cookie 并使用该 zip 执行搜索,但如果错误,用户也可以更改该 zip 所以我想要能够从常规方法内部调用创建的方法,当他们更改 zip 时 运行,这在 Vue 中可能吗?
Edited: I thought it's not possible but as @RoyJ pointed, apparently, you can but below is the
alternative solution instead of invoking the created()
hook.
你可以做的是在 methods
属性 下定义另一个函数,你可以在 created
挂钩期间调用它,然后当 zip
发生变化时你可以调用相同的函数。
通过这种方式,您只需在一处定义逻辑,并在需要时重用它。
methods: {
zipCodeRelatedRequest() {
// core logic here
},
handleZipChange() {
this.zipCodeRelatedRequest()
}
},
created() {
this.zipCodeRelatedRequest();
}
可以使用$options
。但正如 Ana 指出的那样,您 应该 定义一个 created
调用的方法。调用 created
混淆了它的目的。另一个方法的命名方式应使其目的明确。
示例使用 $options
,只是为了证明可能性:
new Vue({
el: '#app',
created() {
console.log("Created");
}
});
<script src="https://unpkg.com/vue@latest/dist/vue.js"></script>
<div id="app">
<button @click="$options.created">Run</button>
</div>
所以我在 vue 中制作了一个应用程序,在页面加载时它使用用户的 zip 获取一个 cookie 并使用该 zip 执行搜索,但如果错误,用户也可以更改该 zip 所以我想要能够从常规方法内部调用创建的方法,当他们更改 zip 时 运行,这在 Vue 中可能吗?
Edited: I thought it's not possible but as @RoyJ pointed, apparently, you can but below is the alternative solution instead of invoking the
created()
hook.
你可以做的是在 methods
属性 下定义另一个函数,你可以在 created
挂钩期间调用它,然后当 zip
发生变化时你可以调用相同的函数。
通过这种方式,您只需在一处定义逻辑,并在需要时重用它。
methods: {
zipCodeRelatedRequest() {
// core logic here
},
handleZipChange() {
this.zipCodeRelatedRequest()
}
},
created() {
this.zipCodeRelatedRequest();
}
可以使用$options
。但正如 Ana 指出的那样,您 应该 定义一个 created
调用的方法。调用 created
混淆了它的目的。另一个方法的命名方式应使其目的明确。
示例使用 $options
,只是为了证明可能性:
new Vue({
el: '#app',
created() {
console.log("Created");
}
});
<script src="https://unpkg.com/vue@latest/dist/vue.js"></script>
<div id="app">
<button @click="$options.created">Run</button>
</div>