请建议如何在少数项目html文件之间包含(使用)常用和共享。 所以来自外部服务器的html文件需要包含在Angularjs路由器中。 这是我所拥有和我想要解决的一个简短的例子。 现在.html在我的项目文件夹中:
.state('chatbase', {
url: '/cn={cn}',
onEnter: function ($stateParams, ParamsShareService) {
ParamsShareService.updateCnValue($stateParams.cn);
},
views: {
'content@': {
templateUrl: 'views/chat_wv1.html',
controller: 'ChatController'
}
}
})
我试图让他们像这样工作。所以我可以分享几个项目的结构。
.state('chatbase', {
url: '/cn={cn}',
onEnter: function ($stateParams, ParamsShareService) {
ParamsShareService.updateCnValue($stateParams.cn);
},
views: {
'content@': {
templateUrl: 'https://my-website/views/chat_wv1.html',
controller: 'ChatController'
}
}
})
答案 0 :(得分:1)
我认为你实现它的方式不起作用。
templateUrl
支持项目或字符串的显式路径。
HTML是一个包含静态内容的静态文件。但是,从HTTP
调用文件意味着使用HTTP协议获取文件内容 - 不同的流量和templateUrl
不支持这种方式。
此外,在任何控制器之前加载Angular状态,我相信templateUrl: 'views/chat_wv1.html',
就是我们今天所拥有的。
您可以尝试这种方法(但有点复杂):
1)您可以加载一些 teplate.html
views: {
'content@': {
templateUrl: 'views/teplate.html',
controller: 'ChatController'
}
}
2)teplate.html
将绑定到某个控制器,该控制器将从服务器加载HTML 内容,您可以使用$compile + ng-include来实现您的目标寻找