我正在使用Vue,并具有以下几种监视功能:
Exception in thread "main" cucumber.runtime.CucumberException: Unrecognized plugin: org.jetbrains.plugins.cucumber.java.run.CucumberJvm2SMFormatter
at cucumber.runtime.RuntimeOptions.addPluginName(RuntimeOptions.java:171)
at cucumber.runtime.RuntimeOptions.parse(RuntimeOptions.java:122)
at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:84)
at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:77)
at cucumber.runtime.RuntimeOptions.<init>(RuntimeOptions.java:69)
at cucumber.api.cli.Main.run(Main.java:31)
at cucumber.api.cli.Main.main(Main.java:18)
我的问题是所有这些道具仅会在更改时(更改后)或换句话说在与视图/ ui交互后进行评估。 取而代之的是,我需要他们中的每一个在init上进行一次评估。有wa吗?在文档上找不到有用的信息。
答案 0 :(得分:2)
您可以传递immediate
属性:
https://vuejs.org/v2/api/#vm-options
示例:
watch: {
foo: {
immediate: true,
handler(nv, ov) { ... }
}
}
另一个选择是将逻辑抽象为方法并在生命周期挂钩上运行它。如果您还需要在其他地方运行逻辑,这将很有用。
答案 1 :(得分:0)
经过一些研究,答案是:您不能可靠地做到这一点。或者,更精确地说,即使通过传递immediate: true
,在函数作用域中,您也无法访问与生命周期挂钩类似的属性,例如'mounted'
(请参见上面的注释,例如{ {1}}。
因此,我个人最终将所需的逻辑抽象到另一个函数中,并将其定义到Vue的$refs
属性中。然后,我根据需要在methods
(出于我的init需求)和监视程序(而不是原始代码)中调用该函数。