在angular1中,我习惯创建一个附加随机变量(或版本号)的httpProvider.interceptors
,以防止浏览器端缓存特定文件。我大部分时间都用它来模板文件。
我怎样才能在angular2中做同样的事情?
注意:我无法使用HTTP
服务的任何解决方案,因为它似乎不用于加载视图模板
答案 0 :(得分:2)
我找到了解决方案。用于构建组件视图的模板系统直接使用在XHRImpl中实现的服务XHR。您可以在normalizeTemplate
类的TemplateNormalizer
方法中查看此内容。
我的解决方案是扩展此实现并覆盖get方法。
import { XHRImpl } from 'angular2/src/platform/browser/xhr_impl'
import { XHR } from 'angular2/compiler'
class VersionedXHRImpl extends XHRImpl {
get(url) {
const separator = url.indexOf('?') === -1 ? '?' : '&'
url = url + separator + 'v=' + config.version
return super.get(url)
}
}
bootstrap(App, [
provide(XHR, {useClass: VersionedXHRImpl})
])
答案 1 :(得分:0)
如果我理解正确,你可以按照以下方式轻松完成
@Component({
templateUrl : 'myTemplate.html?'+(new Date().getTime())
})