我是 Angular.js 的新手,我正在尝试在指令中为不同的客户端使用不同的模板。
问题是,我有三种客户的三个模板,我想根据客户类型检测后的结果为我的指令使用不同的模板
我在谷歌搜索后发现的结果都是关于向目录标签添加属性,但是当我准备好检测结果时,模板已经编译好了。
有什么建议么?
我是 Angular.js 的新手,我正在尝试在指令中为不同的客户端使用不同的模板。
问题是,我有三种客户的三个模板,我想根据客户类型检测后的结果为我的指令使用不同的模板
我在谷歌搜索后发现的结果都是关于向目录标签添加属性,但是当我准备好检测结果时,模板已经编译好了。
有什么建议么?
您可以在指令模板中使用ngSwitch 。
您可以在指令中注入一个变量,以在不同的目录中查找模板。
myApp.directive('testDirective', [
'clientType', function(clientType) {
return {
...
templateUrl: '/templates/' + clientType + '/test.html'
};
}
]);
然后,您可以在应用程序外部设置常量“clientType”并将其作为常量传递。
myApp.constant('clientType', 'mobile'); // Some type of function to determine this
您可能需要手动引导您的应用程序才能有效地使用它。我在生产代码中做类似的事情来控制从哪里加载模板。