在Internet Explorer 11(IE11)中,有没有办法将F12工具窗口移到侧面而不是窗口的底部?
我知道我可以取消它并将其视为常规窗口,但我喜欢将调试窗口附加到我的页面上......我已经有大量的窗户打开了.
我最近将我的机器升级到Internet Explorer 10.我在Windows 7下使用Visual Studio 2012(VS2012).由于我升级到IE10,VS2012 不再自动附加到iexplorer.exe
进程.我在下拉列表中有2个条目.
知道我应该怎么做吗?
(是的,我应该在未来几个月内升级到Win8并进行全新安装......)
这已经困扰了我一段时间,似乎每隔一周,我想出了一套不同的利弊.
它的要点是一个好的SPA分为两个不同的部分.前端和后端.前端应该只是静态文件(javascript,css,html等),而后端提供实际数据并且是动态的.但是,我似乎总是希望动态的前端是后端URL.
我的意思是我通常会提供我的应用程序,例如http://server:123/
我的API和我的API http://other:456/api
.通常,other
并且server
是相同的并且端口改变,但是随着我们的扩展,情况并非总是如此.
所以,我的问题是:为Angular 2应用程序提供配置数据的最佳实践是什么?
这就是我的想法:
代理
大多数Web服务器,甚至是大多数面向静态内容的Web服务器,都提供某种代理配置(nginx,angular-cli服务等).代理的问题是请求确实进行了双跳.首先必须将其发送到静态服务器,然后该服务器必须转向并发出真实请求.我不是这种架构的粉丝,尽管我过去在其他应用程序中使用它.
配置文件
这是我最喜欢的.我几乎/config.json
在我的静态内容服务器上提供一个静态文件(比方说),该服务器包含一个或多个URL或其他非敏感信息.我喜欢这种方法,因为它允许你使用代理,或不.由你决定.大多数情况下,将Web服务器配置为基于url返回静态文件非常简单(比方说/config
).
代码配置
这是我最不喜欢的.在这种方法中,配置直接写入代码文件(config.ts
例如),并且必须针对每个环境进行更改.我认为代码和配置是2个不同的任务,在我使用的大多数公司中,它们由2个不同的团队处理.如果必须重新编译代码并重新部署以更改后端URL,那将是愚蠢的.
过去几周,我们一直专注于Visual Studio 2015 CTP 6的新JavaScript功能.我们期待其他基本的.NET方面才能正常工作.
今天,我们只是尝试使用NUnit向WebAPI项目添加一些单元测试,我们为20表示20(因为它是开放日!)无论我们尝试什么,我们似乎都无法添加NuGet包参考到NUnit(包括2.6.4和3.0.0-beta1).
有人建议如何让NUnit测试与ASP.NET 5 WebAPI项目一起使用?
这是我们正在做的事情:
添加新的4.6 ASP.NET 5项目
我们对WebAPI的东西很感兴趣:
我们从NuGet Beta2了解NuGet Package Manager的问题,因此我们安装了该版本.并更新了我们的配置:
我们可以找到NUnit包(3.0 beta)
但最后,这是我们在输出窗口中得到的全部内容:
缺少参考文献:
这是我们的Project.json这个项目:
{
/* Click to learn more about project.json http://go.microsoft.com/fwlink/?LinkID=517074 */
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta3",
"Microsoft.AspNet.Mvc": "6.0.0-beta3",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta3",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta3",
"NUnit": "3.0.0-beta-1"
},
"frameworks": {
"aspnet50": {},
"aspnetcore50": {}
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"bundleExclude": [
"node_modules",
"bower_components",
"**.kproj",
"**.user",
"**.vspscc"
]
}
Run Code Online (Sandbox Code Playgroud)
我喜欢使用TypesScript(作为以前的C#dev),我每个月花几个小时浏览在线文档.
但是,我似乎无法找到有关内置类型的文档,例如Map<T1,T2>
等.
文档引用了一些地方的标准库,但我似乎也找不到相关的文档(例如,Partial<T>
很棒的类.
我只是错过了吗?
我们需要从 Material UI 自定义DataGrid中使用的大部分图标。阅读非常有限的文档,我们无法弄清楚如何做到这一点。
该文档讨论了插槽(但没有解释如何使用它们)。有一个icons
属性,但我们不确定是否IconsOptions
与插槽相同。无论如何,我们尝试了以下方法:
<div style={{ height: 400, width: "100%" }}>
<DataGrid
rows={rows}
columns={columns}
pageSize={5}
disableSelectionOnClick
icons={{
ColumnMenuIcon: AcUnit
}}
/>
</div>
Run Code Online (Sandbox Code Playgroud)
以及以下内容:
<div style={{ height: 400, width: "100%" }}>
<DataGrid
rows={rows}
columns={columns}
pageSize={5}
disableSelectionOnClick
ColumnMenuIcon={AcUnit}
/>
</div>
Run Code Online (Sandbox Code Playgroud)
无济于事。我们尝试使用<AcUnit/>
替代,但没有改变。尝试阅读代码,但这也没有真正帮助......
这样做的正确方法是什么?如果这是在 React 或 Material UI 中执行操作的标准方法,我们在哪里可以找到一些文档?
这是一个代码沙箱。
我刚刚和NHibernate一起遇到了一个重大问题.我有2个对象,每个对象都有一组东西.我需要从集合中将一件事从对象A移动到对象B的集合.我得到一个关于已删除对象的错误,因为我相信,当它需要保留对象A时,NHibernate会尝试从对象A的集合中删除它对于对象B.从DB的角度来看,只需将"父"属性更新为新对象(对象B)即可.但是对于收藏品,我不知道该做些什么...
在NHibernate中有一个众所周知的过程将对象从一个集合移动到另一个集合吗?
在此先感谢您的帮助.
问候,
埃里克.
我有一个应用程序,其路由将如下所示:
/:partner/login
/:partner/tools
/:partner/other
Run Code Online (Sandbox Code Playgroud)
目前正在使用2.0.0-rc.5
,我可以非常简单地构建完全如上所述的路线.但是,这种方法的缺点是每个组件都必须partner
自己提取参数.所以login
路径声明看起来像:
{
path: ':partner/login',
component: LoginComponent
}
Run Code Online (Sandbox Code Playgroud)
而LoginComponent
将如下所示:
export class LoginComponent implements OnInit {
partner: string;
constructor(private _route: ActivatedRoute) { }
ngOnInit() {
this._route.params.forEach(p => {
this.partner = p[`partner`];
});
}
}
Run Code Online (Sandbox Code Playgroud)
虽然这是管理与3条路线,在概念上,我真正想说的是,我有一个PartnerComponent
具有子路由login
,tools
等路由应该是这样的:
{ path: ':partner', component: PartnerComponent
children: [
{ path: 'login', component: LoginComponent},
{ path: 'tools', component: ToolsComponent}
]
}
Run Code Online (Sandbox Code Playgroud)
使用TypeScript的继承,我可以为每个子节点创建一个基本组件,如:
export class BaseComponent implements OnInit {
partner: string;
constructor(private …
Run Code Online (Sandbox Code Playgroud) 我正在使用angular-ui的ui-calendar.它非常好用且易于使用.
但是,我无法获取日历对象来调用fullCalendar()
和执行日历上的某些功能.
文档仅提供了使用该$scope
方法的示例,但我使用的controller as vm
是John Papa和其他人推荐的方法.我试过用这种方式:
<div data-ng-controller="races as vm">
<div ui-calendar="vm.calendarConfig" calendar="vm.calendar"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
在比赛控制器中我有以下内容:
vm = this;
vm.calendarConfig = { header: {...} };
vm.calendar = {};
// somewhere else in a separate click event
vm.calendar.fullCalendar('prev'); // ---> exception
Run Code Online (Sandbox Code Playgroud)
最后一行抛出异常Object has no method 'fullCalendar'
.
只是想知道我缺少什么,如果任何人有使用的例子ui-calendar
有controller as vm
语法.
以下是关于此事的人:http://plnkr.co/edit/DPo9meJHx19bREYFLhDh
我已经构建了一个HttpInterceptor
紧跟 Angular 文档中的那个。
但是,作为拦截器的一部分,我需要进行异步调用。我用代码的简化版本(但语义相同)创建了一个StackBlitz。
拦截器看起来像:
export class AuthInterceptor implements HttpInterceptor {
constructor(private session: SessionService, private config: ConfigurationService) {}
intercept(req: HttpRequest<any>, next: HttpHandler) {
const apiRoot = this.config.apiUrl;
if (apiRoot && req.url.startsWith(apiRoot)) {
return this.addAuth(req).pipe(switchMap(x => next.handle(x)));
} else {
return next.handle(req);
}
}
private addAuth(original: HttpRequest<any>): Observable<HttpRequest<any>> {
return from(this.session.getToken()).pipe(
map(token => {
const req = original.clone({
setHeaders: { Authorization: `Bearer ${token}` }
});
return req;
})
);
}
}
Run Code Online (Sandbox Code Playgroud)
这很简单:
req.url.startsWith() …
unit-testing angular-http-interceptors angular angular-unit-test
angular ×3
angular-cli ×1
angular-ui ×1
angularjs ×1
asp.net-core ×1
calendar ×1
collections ×1
material-ui ×1
mui-x ×1
nhibernate ×1
nunit ×1
reactjs ×1
typescript ×1
unit-testing ×1
windows-7 ×1