<a ng-href="#" class="navbar-brand" title="home" data-translate>PORTAL_NAME</a>
Run Code Online (Sandbox Code Playgroud)
我想重新加载页面.我怎样才能做到这一点?
我有2条路由共享一个控制器,一个需要在视图加载之前解析数据,另一个不需要解析数据.
路由段示例:
...
when('/users', {
controller: 'UsersCtrl',
templateUrl: '/partials/users/view.html',
resolve: {
resolvedData : ['Accounts', function(Accounts) {
return Accounts.get();
}]
}
}).
when('/users/add', {
controller: 'UsersCtrl',
templateUrl: '/partials/users/add.html'
})
...
Run Code Online (Sandbox Code Playgroud)
控制器示例:
app.controller('UsersCtrl', ['$scope', 'Helper', 'resolvedData',
function($scope, Helper, resolvedData) {
// this works for the first route, but fails for the second route with
// unknown "resolvedDataProvider"
console.log(resolvedData);
}]);
Run Code Online (Sandbox Code Playgroud)
有没有办法resolvedData在没有明确使用解析名称作为依赖项的情况下获取控制器?那么可以进行检查吗?
使用$ injector不起作用.我想做类似的事情:
if ($injector.has('resolveData')) {
var resolveData = $injector.get('resolveData');
}
Run Code Online (Sandbox Code Playgroud)
但是,即使对于具有resolveDataset('/ users')的路由,这也不起作用:
app.controller('UsersCtrl', ['$scope', 'Helper', '$injector',
function($scope, Helper, …Run Code Online (Sandbox Code Playgroud) 我做了角落飞镖教程,我有一个问题.
要声明可用于依赖注入的类型,我必须这样做:
class MyAppModule extends Module {
MyAppModule() {
type(RecipeBookController);
}
}
Run Code Online (Sandbox Code Playgroud)
所有类型都是如此.
在一个大型应用程序中,您可以拥有数百种类型,因此声明所有类型是一种奇怪的方式.
有没有其他方法可以做到这一点?
谢谢.
对于我的应用程序,我创建了以下内容HttpInterceptor.有没有办法从这里向请求订阅者返回更改的响应版本?
import { Injectable } from '@angular/core';
import { HttpRequest, HttpResponse, HttpErrorResponse, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { Router } from '@angular/router';
@Injectable()
export class RequestInterceptor implements HttpInterceptor {
constructor(
private router: Router
) { }
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).do((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
// any way to alter response that gets sent to the request subscriber?
}
}, (error: any) => …Run Code Online (Sandbox Code Playgroud)