1

我是 Angular.js 的新手,我正在尝试在指令中为不同的客户端使用不同的模板。

问题是,我有三种客户的三个模板,我想根据客户类型检测后的结果为我的指令使用不同的模板

我在谷歌搜索后发现的结果都是关于向目录标签添加属性,但是当我准备好检测结果时,模板已经编译好了。

有什么建议么?

4

2 回答 2

1

您可以在指令模板中使用ngSwitch 。

于 2013-02-26T20:20:29.863 回答
1

您可以在指令中注入一个变量,以在不同的目录中查找模板。

myApp.directive('testDirective', [
  'clientType', function(clientType) {
    return {
      ...
      templateUrl: '/templates/' + clientType + '/test.html'
    };
  }
]);

然后,您可以在应用程序外部设置常量“clientType”并将其作为常量传递。

myApp.constant('clientType', 'mobile'); // Some type of function to determine this

您可能需要手动引导您的应用程序才能有效地使用它。我在生产代码中做类似的事情来控制从哪里加载模板。

于 2013-02-26T20:58:39.600 回答