fra*_*val 6 javascript angularjs
在AngularJS指令中,templateUrl参数是以dinamically方式定义的.
'templates/' + content_id + '.html'
Run Code Online (Sandbox Code Playgroud)
我不想建立规则来检查content_id值是否有效并将其作为404错误管理,即如果模板不存在(服务器在加载模板时返回404错误)加载template/404.html.
我怎样才能做到这一点?
编辑:当前的答案建议使用响应错误拦截器.在这种情况下,我怎么知道响应是加载这个模板?
您将需要编写响应错误拦截器.像这样的东西:
app.factory('template404Interceptor', function($injector) {
return {
responseError: function(response) {
if (response.status === 404 && /\.html$/.test(response.config.url)) {
response.config.url = '404.html';
return $injector.get('$http')(response.config);
}
return $q.reject(response);
}
};
});
app.config(function($httpProvider) {
$httpProvider.interceptors.push('template404Interceptor');
});
Run Code Online (Sandbox Code Playgroud)
演示: http ://plnkr.co/edit/uCpnT5n0PkWO53PVQmvR?p = preview
| 归档时间: |
|
| 查看次数: |
1050 次 |
| 最近记录: |