在 angular 组件中动态分配 templateUrl

Dynamically assign templateUrl in angular component

我在 angular 1.5 中构建了一个 angular 组件。它看起来像这样:

var module = angular.module("ncRelationshipSearch");

module.component("relationshipSearch", {
    templateUrl: <need to dynamically assign>,
    controllerAs: "vm",
    controller: ['config', function(config){
         ... config provider here knows about templateURL...
    }
}

我需要以某种方式分配 templateUrl。我有一个 config 供应商可以提供 URL 但我不能在组件定义点注入它。有没有办法通过绑定获取 URL 或稍后在控制器中设置它?

你可以拥有 templateUrl 的功能,你可以在其中注入 service/factory。您实际上可以通过 templateUrl 函数注入 config 提供程序。

module.component("relationshipSearch", {
    templateUrl: function(config){
       //play here with service variables generate templateUrl
       //other code can also lie here. :)
       return config.myTemplatUrl;
    },
    controllerAs: "vm",
    controller: ['config', function(config){
         ... config provider here knows about templateURL...
    }
}