Javascript 我可以生成一个';模板URL';在我创建视图时,json上每个产品的动态值是多少?

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

我正在使用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 '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定义应用程序路由。我提到的使用循环定义路由与您定义的路由之间没有区别。请检查一下此链接