如何在vue.js应用程序中访问JSON对象我是新手
import json from './json/data.json'
JSON文件已加载,现在我必须访问其中的对象
如何在vue.js应用程序中访问JSON对象我是新手
import json from './json/data.json'
JSON文件已加载,现在我必须访问其中的对象
Answers:
只需将导入分配给数据属性
<script>
import json from './json/data.json'
export default{
data(){
return{
myJson: json
}
}
}
</script>
然后使用以下方法遍历myJson
模板中的属性v-for
<template>
<div>
<div v-for="data in myJson">{{data}}</div>
</div>
</template>
注意
如果要导入的对象是静态的,即不变,那么将其分配给data属性将没有意义,因为它不需要是反应性的。
Vue会将data
选项中的所有属性转换为吸气剂/设定剂,以使这些属性具有反应性。因此,对于将不会更改的数据设置吸气剂/设置器来说,这是不必要的,也不会产生开销。请参阅深度反应性。
因此,您可以如下创建自定义选项:
<script>
import MY_JSON from './json/data.json'
export default{
//custom option named myJson
myJson: MY_JSON
}
</script>
然后使用以下命令遍历模板中的custom选项$options
:
<template>
<div>
<div v-for="data in $options.myJson">{{data}}</div>
</div>
</template>
$options
办法,我已经使用了created()
非反应性的数据-这是更好
如果您的文件如下所示:
[
{
"firstname": "toto",
"lastname": "titi"
},
{
"firstname": "toto2",
"lastname": "titi2"
},
]
你可以做:
import json from './json/data.json';
// ....
json.forEach(x => { console.log(x.firstname, x.lastname); });
打字稿项目(我在SFC vue组件中有打字稿),需要将resolveJsonModule
编译器选项设置为true
。
在tsconfig.json中:
{
"compilerOptions": {
...
"resolveJsonModule": true,
...
},
...
}
快乐的编码:)
(来源https://www.typescriptlang.org/docs/handbook/compiler-options.html)
我最近开始使用Vue JS,JSON Schema进行项目。我正在尝试从Vue应用程序中的JSON模式文件访问嵌套的JSON对象。我尝试了以下代码,现在可以在不同的Vue模板标签内加载不同的JSON对象。在脚本标签中添加以下代码
import {JsonObject1name, JsonObject2name} from 'your Json file path';
现在,您可以在导出默认部分的数据部分中访问JsonObject1,2名称,如下所示:
data: () => ({
schema: JsonObject1name,
schema1: JsonObject2name,
model: {}
}),
现在,您可以根据需要在Vue模板中加载schema,schema1数据。例如,请参见以下代码:
<SchemaForm id="unique name representing your Json object1" class="form" v-model="model" :schema="schema" :components="components">
</SchemaForm>
<SchemaForm id="unique name representing your Json object2" class="form" v-model="model" :schema="schema1" :components="components">
</SchemaForm>
SchemaForm是@ formSchema / native库的本地变量名称。我已经通过不同CSS选项卡中的表单实现了不同JSON对象的数据。
我希望这个答案对某人有帮助。如有任何问题,我可以帮忙。