我是Angular.js的新手,我正在尝试在不同客户的指令中使用不同的模板。
问题是,我有三种模板用于三种客户端,我想根据检测后客户端类型的结果为我的指令使用不同的模板
我在Googling之后找到的结果是关于向目录标记添加属性,但是当我准备好检测结果时,模板已经被编译。
有什么建议吗?
答案 0 :(得分:1)
您可以在指令模板中使用ngSwitch。
答案 1 :(得分: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
您可能需要手动引导您的应用,以便有效地使用它。我在生产代码中做了类似的事情来控制模板的加载位置。