我正在更新一些Vue 3组件以使用新的合成API。
代码需要能够在新的中运行。
我还在学习,我在网上找不到一个如何做的例子。
先谢了!
export default {
data() {
return {
productName: '',
productFeatures: '',
temperature: 0.1,
generatedText: '',
loading: false,
aviso: false
}
},
methods: {
generateText() {
this.loading = true;
let prompt = `This is a test ${this.productName}.`;
axios.post('https://example.com', {
model: "XXXXXX",
logprobs: 1,
max_tokens: 500,
prompt: prompt,
temperature: 0.3
// temperature: 0.7,
}, {
headers: {
'Authorization': 'Bearer XXXXXXXXXXXXX'
}
}).then(response => {
this.generatedText = response.data.choices[0].text;
this.loading = false;
this.aviso = true;
});
}
}
}
1条答案
按热度按时间sg24os4d1#
这里是一个例子,你可以把它翻译成组合API方式。你仍然需要学习如何vue3工作。
我改变了函数中加载值变为false的位置,因为如果你有一个错误,它会加载更少的值。
您可以像这样使用
ref()
来代替reactive()
:Ref<T>
用于简单变量,而不是对象。当你直接给.value = "bla"
赋值时,它们会正常工作,但如果它是一个对象,你想更新.value.title = "bla"
对象内部的值。Ref<T>
不会知道你更新了.title
的值,所以你失去了React性你的模板不会更新标题。如果像这样使用
Ref<T>
,您不会失去React性:如果您不知道
...
spread运算符的作用,请阅读它。