logologo
Démarrer
Manuel
Développement
Plugins
API
Accueil
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Démarrer
Manuel
Développement
Plugins
API
Accueil
logologo
Présentation de RunJS
Importation de modules
Rendu dans le conteneur

Variables globales

window
document
navigator

ctx

ctx.blockModel
ctx.collection
ctx.collectionField
ctx.dataSource
ctx.dataSourceManager
ctx.element
ctx.exit()
ctx.exitAll()
ctx.filterManager
ctx.form
ctx.getModel()
ctx.getValue()
ctx.getVar()
ctx.i18n
ctx.importAsync()
ctx.initResource()
ctx.libs
ctx.location
ctx.logger
ctx.makeResource()
ctx.message
ctx.modal
ctx.model
ctx.notification
ctx.off()
ctx.on()
ctx.openView()
ctx.render()
ctx.request()
ctx.requireAsync()
ctx.resource
ctx.route
ctx.router
ctx.setValue()
ctx.sql
ctx.t()
ctx.view
Previous Pagectx.logger
Next Pagectx.message
Avis de traduction IA

Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.

#ctx.makeResource()

Crée et renvoie une nouvelle instance de ressource sans écrire ni modifier ctx.resource. Cette méthode est adaptée aux scénarios nécessitant plusieurs ressources indépendantes ou une utilisation temporaire.

#Cas d'utilisation

ScénarioDescription
Plusieurs ressourcesCharger simultanément plusieurs sources de données (par exemple, une liste d'utilisateurs + une liste de commandes), chacune utilisant une ressource indépendante.
Requêtes temporairesRequêtes ponctuelles qui sont supprimées après utilisation, sans avoir besoin de les lier à ctx.resource.
Données auxiliairesUtiliser ctx.resource pour les données principales et makeResource pour créer des instances pour les données supplémentaires.

Si vous n'avez besoin que d'une seule ressource et que vous souhaitez la lier à ctx.resource, l'utilisation de ctx.initResource() est plus appropriée.

#Définition du type

makeResource<T = FlowResource>(
  resourceType: 'APIResource' | 'SingleRecordResource' | 'MultiRecordResource' | 'SQLResource'
): T;
ParamètreTypeDescription
resourceTypestringType de ressource : 'APIResource', 'SingleRecordResource', 'MultiRecordResource', 'SQLResource'

Valeur de retour : La nouvelle instance de ressource créée.

#Différence avec ctx.initResource()

MéthodeComportement
ctx.makeResource(type)Crée et renvoie uniquement une nouvelle instance, sans écrire dans ctx.resource. Peut être appelée plusieurs fois pour obtenir plusieurs ressources indépendantes.
ctx.initResource(type)Crée et lie si ctx.resource n'existe pas ; la renvoie directement si elle existe déjà. Garantit que ctx.resource est disponible.

#Exemples

#Ressource unique

const listRes = ctx.makeResource('MultiRecordResource');
listRes.setResourceName('users');
await listRes.refresh();
const users = listRes.getData();
// ctx.resource conserve sa valeur d'origine (le cas échéant)

#Plusieurs ressources

const usersRes = ctx.makeResource('MultiRecordResource');
usersRes.setResourceName('users');
await usersRes.refresh();

const ordersRes = ctx.makeResource('MultiRecordResource');
ordersRes.setResourceName('orders');
await ordersRes.refresh();

ctx.render(
  <div>
    <p>Nombre d'utilisateurs : {usersRes.getData().length}</p>
    <p>Nombre de commandes : {ordersRes.getData().length}</p>
  </div>
);

#Requête temporaire

// Requête ponctuelle, ne pollue pas ctx.resource
const tempRes = ctx.makeResource('SingleRecordResource');
tempRes.setResourceName('users');
tempRes.setFilterByTk(1);
await tempRes.refresh();
const record = tempRes.getData();

#Remarques

  • La ressource nouvellement créée doit appeler setResourceName(name) pour spécifier la collection, puis charger les données via refresh().
  • Chaque instance de ressource est indépendante et n'affecte pas les autres ; convient au chargement parallèle de plusieurs sources de données.

#Voir aussi

  • ctx.initResource() : Initialiser et lier à ctx.resource
  • ctx.resource : L'instance de ressource dans le contexte actuel
  • MultiRecordResource — Enregistrements multiples / Liste
  • SingleRecordResource — Enregistrement unique
  • APIResource — Ressource API générale
  • SQLResource — Ressource de requête SQL