- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以将其转换为 <script setup>
?我尝试了很多方法,但可能遗漏了一些东西。需要帮助!
<script>
import ProductsAPI from '../api/products.api';
export default {
name: 'products',
components: {
product: 'product',
},
data() {
return {
products: [],
error: '',
};
},
async created() {
this.products = await ProductsAPI.fetchAll();
},
};
</script>
最佳答案
它有助于将问题分解成可以单独解决的更小的问题...
组件在将它们的定义导入到 <script setup>
中时会自动注册, 所以注册 Product
是微不足道的:
<script setup>
import Product from '@/components/Product.vue' // locally registered
</script>
<script setup>
import { ref } from 'vue'
const products = ref([])
const error = ref('')
// to change the value of the `ref`, use its `.value` property
error.value = 'My error message'
products.value = [{ name: 'Product A' }, { name: 'Product B' }]
</script>
或者,您可以使用新的/实验性的 Reactivity Transform在<script setup>
,它全局定义了 react 性 API,前缀为 $
(例如,$ref
代表 ref
),并且避免必须解包 ref
通过 .value
:
<script setup>
let products = $ref([])
let error = $ref('')
// assign the values directly (no need for .value)
error = 'My error message'
products = [{ name: 'Product A' }, { name: 'Product B' }]
</script>
created
生命周期钩子(Hook)<script setup>
block 发生在与 setup
相同的时间钩子(Hook),这也与 created
的时间相同钩子(Hook),这样你就可以在那里复制你原来的钩子(Hook)代码。使用 await
,您可以将调用包装在 async
中IIFE :
<script setup>
import ProductAPI from '@/api/products.api'
import { ref } from 'vue'
const products = ref([])
;(async () => {
products.value = await ProductAPI.fetchAll()
})()
</script>
...或者创建一个 async
其中调用的函数:
<script setup>
import ProductAPI from '@/api/products.api'
import { ref } from 'vue'
const products = ref([])
const loadProducts = async () => products.value = await ProductAPI.fetchAll()
loadProducts()
</script>
name
没有等效的 Composition API属性,但您可以使用 <script>
除了 <script setup>
之外的 block 在同一 SFC 中包含 Composition API 不支持的任何 Prop :
<script setup>
⋮
</script>
<!-- OK to have <script> and <script setup> in same SFC -->
<script>
export default {
name: 'products',
}
</script>
或者,您可以通过文件名指定组件的名称。这feature添加于 v3.2.34-beta.1
.例如,带有 <script setup>
的组件其文件名为 MyComponent.vue
会有一个名字 MyComponent
.
关于vue.js - 有没有可能把它变成 '<script setup>' ?我尝试了很多方法但可能遗漏了一些东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70549941/
我正在尝试运行某人给我的一些 C++ 代码。起初有一个指向 istream 文件的断开链接,我通过添加包含路径修复了这个问题: C:\Program Files (x86)\Embarcadero\R
谁能告诉我如何防止 .git 目录的内容被上传到 PyPi。我的 MANIFEST.in 看起来像这样: global-include *.py *.js *.rst *.html *.css *.l
最近在 typescript 项目的VSCode中遇到如下情况: 文件:some-interface.ts // no import statements have been skipped. Thi
为我找到这个问题的合适标题有点困难,所以也许这个例子会澄清我的问题。 我正在发出 ajax 请求以将一些变量从 JS 传递到 PHP。这些变量之一是带有一些选项的 URL,即 https://www.
我是一名优秀的程序员,十分优秀!