所以我试图从model.js导出/导入脚本,我使用这个
import * as model from './model.js';
这是模型的脚本。js
export const state = {
recipe: {},
};
console.log(state.recipe);
export const loadRecipe = async function (id) {
try {
const res = await fetch(
`https://forkify-api.herokuapp.com/api/v2/recipes/${id}`
);
const data = await res.json();
if (!res.ok) throw new Error(`${data.message} (${res.status})`);
console.log(data);
let { recipe } = data.data;
console.log(recipe);
} catch (err) {
console.error(err);
}
};
这是渲染部分,我试图从model.js.访问食谱部分
const showRecipe = async function () {
try {
const id = window.location.hash.slice(1);
if (!id) return;
renderSpinner(recipeContainer);
//1.Loading Recipe
await model.loadRecipe(id);
const { recipe } = model.loadRecipe.recipe;
我试图在这里访问配方部分:const{recipe}=model。装载配方;
但我正在变得不明确。请帮助我确定问题,是导出、导入还是我以错误的方式访问数据?另外,我应该如何将配方部分推送到状态配方?
非常感谢你。
如果你用香草JS试试:
// model.js
const loadRecipe = async function (id) {
try {
const res = await fetch(
`https://forkify-api.herokuapp.com/api/v2/recipes/${id}`
);
const data = await res.json();
if (!res.ok) throw new Error(`${data.message} (${res.status})`);
console.log(data);
let { recipe } = data.data;
console.log(recipe);
} catch (err) {
console.error(err);
}
};
...在另一个文件(call.js)...
const showRecipe = async function () {
try {
const id = window.location.hash.slice(1);
if (!id) return;
renderSpinner(recipeContainer);
//1.Loading Recipe
await model.loadRecipe(id);
const { recipe } = model.loadRecipe.recipe;
...在您的html文件中。。。
<script type="text/javascript" src="model.js"></script>
<script type="text/javascript" src="call.js"></script>
export const state = {
recipe: {},
};
console.log(state.recipe);
export const loadRecipe = async function (id) {
try {
const res = await fetch(
`https://forkify-api.herokuapp.com/api/v2/recipes/${id}`
);
const data = await res.json();
if (!res.ok) throw new Error(`${data.message} (${res.status})`);
console.log(data);
state.recipe = data.data.recipe;
console.log(recipe);
} catch (err) {
console.error(err);
}
};
await model.loadRecipe(id);
const { recipe } = model.state;
但是为什么你不想返回数据并将其保存到变量中呢?通常,您只需从loadRecipe函数返回食谱。
您可以分别从model.js
导入值。
import { state, loadRecipe } from './model';
然后,可以在运行loadRecipe()
方法后读取state
值。
// ...
await loadRecipe(id);
console.log(state.recipe);
但是,我认为您忘记了在模型中的
loadRecipe()
函数中设置recipe
值。js也一样。
js prettyprint-override">// get the recipe ...
// then ...
state.recipe = recipe;
问题内容: 如何导入驻留在父目录中的模块(python文件)? 这两个目录中都有文件,但是我仍然无法从父目录导入文件? 在此文件夹布局中,脚本B尝试导入脚本A: 脚本B中的以下代码不起作用: 问题答案: 您无需在Python中导入脚本,而可以导入模块。一些python模块也是可以直接运行的脚本(它们在模块级别上做了一些有用的工作)。 通常,最好使用绝对进口,而不是相对进口。 在: 如果您想作为脚本
问题内容: 我积极使用脚本进行评分和汇总。我不知道的一件事是如何从脚本发出日志。我尝试了console.log,但后来没有成功。请让我知道,我该如何从常规脚本中发出日志。 问题答案: 这可以通过访问全局Elasticsearch记录器实例来完成。下面提供了它的常规示例。您也应该能够对javascript和其他脚本语言执行类似的操作。 因此,当您进行条款汇总时,可以执行以下操作- 一些来自Elast
我需要一个groovy脚本的代码示例,它可以访问存储在我的文件系统中任何地方的xml文件。在这个xml文件中,我有数据库凭据,我的脚本需要访问数据库。下面是xml 提前致谢:)
我试图从java代码调用python脚本。
我有这样的设置: 所有.飞镖只是导入脚本1.飞镖和脚本2.dart并调用它们的主要。目标是在细节下有一堆可以单独运行的脚本。此外,我想要一个单独的 all.dart 脚本,可以一次运行所有脚本。这将使调试单个脚本更简单,但仍允许所有脚本运行。 all.dart 脚本1.飞镖 脚本2.dart 所以,这是工作,我看到运行时预期的打印语句all.dart但我有两个问题。 首先,我必须在详细信息下软链接
我必须从我的 Groovy 脚本访问一个环境变量。我没有使用詹金斯。如何获取变量?