我有一个组件,用于Angular Material MdDialog:
@Component({
...
})
export class MyComponent {
constructor(@Inject(MD_DIALOG_DATA) public data: any, public dialogRef:
MdDialogRef<MyComponent>) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
我试图用Jasmine进行单元测试:
describe('MyComponent', () => {
let component: MyComponent;
let fixture: ComponentFixture<MyComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
SharedTestingModule,
],
declarations: [
MyComponent,
],
})
.compileComponents();
}));
...
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,我收到以下错误:
错误:没有InjectionToken MdDialogData的提供程序!
SharedTestingModule导入和导出我的自定义Angular Material模块,该模块本身导入并导出MdDialogModule.
我怎样才能摆脱这个错误?
非常感谢你!
Angular 4.2.4
Angular Material 2.0.0-beta.7
Jasmine 2.5.3
Run Code Online (Sandbox Code Playgroud) 当Angular Material 2中的所需输入无效时,我试图显示错误消息.Angular Material演示应用程序中有一个示例:
<form novalidate>
<h4>Inside a form</h4>
<md-input-container>
<input mdInput name="example" placeholder="example"
[(ngModel)]="errorMessageExample3" required>
<md-error>This field is required</md-error>
</md-input-container>
<button color="primary" md-raised-button>Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我尝试做同样的事情时,我得到:
Unhandled Promise rejection: Template parse errors:
'md-error' is not a known element:
1. If 'md-error' is an Angular component, then verify that it is part
of this module.
2. If 'md-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA'
to the '@NgModule.schemas' of this component to suppress this message.
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能使用<md-error>
?
我在两个不同的域上有两个 Angular 应用程序,它们使用 AWS Amplify 进行身份验证。
它们都使用相同的 Cognito 用户池和相同的 Cognito 应用程序客户端。
应用程序客户端不使用 Cognito 托管 UI,也不使用 OAuth 2.0。
身份验证协议是默认的 AWS Amplify 协议:SRP(安全远程密码协议)。
有时,我的用户登录到domain1,而实际上他们应该登录到domain2(业务规则,取决于用户的个人资料)。
在这种情况下,我希望它们被重定向到domain2并自动进行身份验证。
有没有一种干净的方法可以使用 Cognito 进行此类重定向?我有一个解决方案,意味着将 Cognito 令牌从domain1本地存储传递到重定向url,然后在domain2中执行相反的操作,但显然这感觉像是黑客攻击。
该Keycloak 3.2的JavaScript适配器文档说,你可以用实例化对象keycloak:
var keycloak = Keycloak('http://localhost:8080/myapp/keycloak.json'));
Run Code Online (Sandbox Code Playgroud)
但是当我尝试这样做时,看起来我的 keycloak.config 文件没有正确设置,因为我最终得到:
Uncaught TypeError: Cannot read property 'charAt' of undefined
at getRealmUrl (keycloak.js:482)
at Keycloak.kc.createLoginUrl (keycloak.js:233)
at Object.login (keycloak.js:897)
at Keycloak.kc.login (keycloak.js:205)
at doLogin (keycloak.js:121)
at onLoad (keycloak.js:144)
at Object.processInit [as successCallback] (keycloak.js:187)
at Object.setSuccess (keycloak.js:771)
at XMLHttpRequest.req.onreadystatechange (keycloak.js:598)
at XMLHttpRequest.wrapFn [as __zone_symbol___onreadystatechange] (zone.js:1056)
Run Code Online (Sandbox Code Playgroud)
然而,当我使用http://localhost:8080/myapp/keycloak.json
浏览器访问时,我得到:
Uncaught TypeError: Cannot read property 'charAt' of undefined
at getRealmUrl (keycloak.js:482)
at Keycloak.kc.createLoginUrl (keycloak.js:233)
at Object.login (keycloak.js:897)
at Keycloak.kc.login (keycloak.js:205)
at doLogin (keycloak.js:121)
at …
Run Code Online (Sandbox Code Playgroud) angular ×2
aws-amplify ×1
jasmine ×1
javascript ×1
jboss-tools ×1
keycloak ×1
mddialog ×1
redirect ×1