Javascript 我可以生成一个';模板URL';在我创建视图时,json上每个产品的动态值是多少?
我正在使用JavaScript框架(即AngularJS)创建一个web应用程序 该应用程序是一个商店,它从JSON获取产品信息并在元素上显示 我的问题是:在创建视图时,是否可以为JSON上的每个产品动态生成“templateUrl”值Javascript 我可以生成一个';模板URL';在我创建视图时,json上每个产品的动态值是多少?,javascript,angularjs,angular-routing,Javascript,Angularjs,Angular Routing,我正在使用JavaScript框架(即AngularJS)创建一个web应用程序 该应用程序是一个商店,它从JSON获取产品信息并在元素上显示 我的问题是:在创建视图时,是否可以为JSON上的每个产品动态生成“templateUrl”值 var app = angular.module("oldek_clothes", ["ngRoute"]); var A = "i'm 'a'"; var B = "i'm 'b'"; var C = "i'm
var app = angular.module("oldek_clothes", ["ngRoute"]);
var A = "i'm 'a'";
var B = "i'm 'b'";
var C = "i'm 'c'";
var D = "views/store.html";
app.config(function($routeProvider) {
$routeProvider
.when("/A",{
templateUrl : "views/store.html"
})
.when("/B", {
template: B
})
.when("/C", {
template: C
})
.when("/store",{
templateUrl: D
})
});
目标是为JSON数据中存储的每个项目创建一个URL,而不需要过多的手动编码。如果产品是固定的,您可以为产品创建哈希映射作为键,并将路由配置作为值,假设产品JSON是prod_JSON
if prod_json = {"prod_a": val1, "prod_b": val2, "prod_c": val3}
var routeConfig = {
"prod_a":{
route: "/A",
templateUrl: "/sample/A.html"
},
"prod_b":{
route: "/B",
template: "<p>Sample paragraph B</p>"
},
"prod_c":{
route: "/c",
templateUrl: "/sample/c.html"
},
"prod_d":{
route: "/D",
template: "<p>Sample paragraph B</p>"
}]
app.config(function($routeProvider) {
for ( let prod in prod_json) {
let conf = routeConfig[prod]
$routeProvider.when(conf.route, conf.template?{template: conf.template}:{templateUrl: conf.templateUrl})
}
})
如果prod_json={“prod_a”:val1,“prod_b”:val2,“prod_c”:val3}
var routeConfig={
“产品a”:{
路线:“/A”,
templateUrl:“/sample/A.html”
},
“产品b”:{
路线:“/B”,
模板:“示例段落B”
},
“产品c”:{
路线:“/c”,
templateUrl:“/sample/c.html”
},
“产品”:{
路线:“/D”,
模板:“示例段落B”
}]
app.config(函数($routeProvider){
for(让prod在prod_json中){
设conf=routeConfig[prod]
$routeProvider.when(conf.route,conf.template?{template:conf.template}:{templateUrl:conf.templateUrl})
}
})
如果产品是固定的,您可以为产品创建哈希映射作为键,并将conf路由作为值,假设产品json是prod_json
if prod_json = {"prod_a": val1, "prod_b": val2, "prod_c": val3}
var routeConfig = {
"prod_a":{
route: "/A",
templateUrl: "/sample/A.html"
},
"prod_b":{
route: "/B",
template: "<p>Sample paragraph B</p>"
},
"prod_c":{
route: "/c",
templateUrl: "/sample/c.html"
},
"prod_d":{
route: "/D",
template: "<p>Sample paragraph B</p>"
}]
app.config(function($routeProvider) {
for ( let prod in prod_json) {
let conf = routeConfig[prod]
$routeProvider.when(conf.route, conf.template?{template: conf.template}:{templateUrl: conf.templateUrl})
}
})
如果prod_json={“prod_a”:val1,“prod_b”:val2,“prod_c”:val3}
var routeConfig={
“产品a”:{
路线:“/A”,
templateUrl:“/sample/A.html”
},
“产品b”:{
路线:“/B”,
模板:“示例段落B”
},
“产品c”:{
路线:“/c”,
templateUrl:“/sample/c.html”
},
“产品”:{
路线:“/D”,
模板:“示例段落B”
}]
app.config(函数($routeProvider){
for(让prod在prod_json中){
设conf=routeConfig[prod]
$routeProvider.when(conf.route,conf.template?{template:conf.template}:{templateUrl:conf.templateUrl})
}
})
您能给我解释一下迭代的功能吗?迭代只是为了循环通过routeConf并根据我们的产品json定义应用程序路由。我提到的使用循环定义路由和您定义的路由之间并没有区别。检查一下这个链接,您能给我解释一下它的功能吗迭代仅用于循环通过routeConf并基于我们的产品json定义应用程序路由。我提到的使用循环定义路由与您定义的路由之间没有区别。请检查一下此链接