在服务上使用 Vue 3 响应性是不是有意义?

Posted

技术标签:

【中文标题】在服务上使用 Vue 3 响应性是不是有意义?【英文标题】:Does it make sense using Vue 3 reactivity on a service?在服务上使用 Vue 3 响应性是否有意义? 【发布时间】:2021-11-05 03:57:24 【问题描述】:

我发现 PrimeVue 的 DataTable 代码 sn-p 使用了新的 Compositon API

<script>
import  ref, onMounted  from 'vue';
import ProductService from './service/ProductService';

export default 
    setup() 
        onMounted(() => 
            productService.value.getProductsSmall().then(data => products.value = data);
        )

        const products = ref();
        const productService = ref(new ProductService());
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^    
        return  products, productService 
    

</script>

ref() ProductService 是否有意义? 我想它没有。我错了吗?

【问题讨论】:

【参考方案1】:

我相信你是对的,分配给ref 是不必要的。

我认为可能是为了与选项 API 保持一致而添加的:

import ProductService from './service/ProductService';

export default 
    data() 
        return 
            products: null
        
    ,
    productService: null,
    created() 
        this.productService = new ProductService();
    ,
    mounted() 
        this.productService.getProductsSmall().then(data => this.products = data);
    

但是,productService 不是 data 对象的一部分,因此它不是响应式的,并且因为它是一个不保持状态的服务,所以它不需要。

【讨论】:

以上是关于在服务上使用 Vue 3 响应性是不是有意义?的主要内容,如果未能解决你的问题,请参考以下文章

创建一个仅 jquery / .NET 服务的网站是不是可能或有意义?

在单个服务器上运行 Kubernetes 有意义吗?

负载平衡在单个硬件服务器上有意义吗?

`HTTP/1.1` 响应返回 HTTP 状态代码 `421 Misdirected Request` 是不是有意义?

将 Psyco 与 django 一起使用是不是有意义?

在安全方面,允许特定域的 CORS 是不是有意义?