我有一个故事情节如下
Scenario:
Given user is on Login page
When user types login details with xxx as user xxx as passwd and submits
Then dashboard is shown
Run Code Online (Sandbox Code Playgroud)
请指教,如何评论或不做一个线路运行(例如:2线直接3线后不应进行测试)
我想尝试使用angular-cli(https://github.com/angular/angular-cli)创建一个Angular 2应用程序,然后使用ng2-material(https://github.com/justindujardin/ng2-material)用于UI组件.但我只是不明白我必须包含ng2-material库以便使用它.
我创建了一个项目,ng new myproject
然后我启动了服务器ng serve
并打开了网页,结果很好.下一步,我安装了ng2-material npm install ng2-material --save
.然后我添加MATERIAL_PROVIDERS
到angular的bootstrap,如下所示https://github.com/AngularShowcase/angular2-seed-ng2-material/blob/master/app/bootstrap.ts.
这导致GET http://localhost:4200/ng2-material/all 404 (Not Found)
Web浏览器中出现错误消息,我无法弄清楚如何摆脱它.
angular-cli似乎正在做一些事情来创建一个文件dist
夹,其中index.html中使用的一些节点模块最终进入,但我看不到在哪里或如何配置.
我在角度4世界中相当新,我试图在Angular Material设计中使用Angular 4为md-table组件添加每个行和标题列的"编辑/删除"按钮是"Action".我该怎么办?这个?每行的自定义标题列和按钮.任何可用的模板吗?下面是我的HTML代码.
userinfo.html
<!-- ID Column -->
<ng-container cdkColumnDef="username">
<md-header-cell *cdkHeaderCellDef> User Name </md-header-cell>
<md-cell *cdkCellDef="let row"> {{row.username}} </md-cell>
</ng-container>
<!-- Email Column -->
<ng-container cdkColumnDef="email">
<md-header-cell *cdkHeaderCellDef> Email </md-header-cell>
<md-cell *cdkCellDef="let row"> {{row.email}} </md-cell>
</ng-container>
<!-- First Name Column -->
<ng-container cdkColumnDef="userFirstName">
<md-header-cell *cdkHeaderCellDef> First Name </md-header-cell>
<md-cell *cdkCellDef="let row"> {{row.userFirstName}} </md-cell>
</ng-container>
<!-- Last Name Column -->
<ng-container cdkColumnDef="userLastName">
<md-header-cell *cdkHeaderCellDef> Last Name </md-header-cell>
<md-cell *cdkCellDef="let row" [style.color]="row.color"> {{row.userLastName}} </md-cell>
</ng-container>
<!-- Phone Column -->
<ng-container cdkColumnDef="userMobile"> …
Run Code Online (Sandbox Code Playgroud) material-design angular-material angular-components angular angular-forms
我找不到合适的正则表达式模式,即使这类问题很多.
我不希望用户能够输入或输入
<td><input type="number" pattern=" 0+\.[0-9]*[1-9][0-9]*$" name="itemConsumption" /></td>
Run Code Online (Sandbox Code Playgroud)
我只想接受积极的整数
解决不需要正则表达式,我不知道这个:D
<td><input type="number" pattern=" 0+\.[0-9]*[1-9][0-9]*$" name="itemConsumption" onkeypress="return event.charCode >= 48 && event.charCode <= 57"</td>
Run Code Online (Sandbox Code Playgroud) 在使用Angular CLI构建的Angular 2应用程序中,我按照官方安装指南设置了Angular 2 Material组件.
Angular 2 Material将其主要CSS样式放在页面中,<head>
总是低于我的自定义CSS样式.如果我需要覆盖它们,这会对我产生影响.
如何强制Angular 2 Material将其核心CSS样式置于我在Angular CLI main(entry)CSS文件中定义的样式之上?
我切换MdTabGroup
到md-tab-nav-bar
/ md-tab-link
指令,以便能够将路由分配给各个标签页.不幸的是,我在这个过程中丢失了滑入式动画(似乎没有指令的动画),所以我试图模仿行为MdTab
到目前为止没有成功.
这是使用tab指令的模板:
<div class="ink-results" *ngIf="model && (model | async).length > 0" >
<nav md-tab-nav-bar>
<a md-tab-link
*ngFor="let browser of model | async;trackBy: trackByBrowserId"
[routerLink]="['/results', browser.id]"
routerLinkActive #rla="routerLinkActive"
[active]="rla.isActive">
{{browser.name}}
</a>
</nav>
<router-outlet></router-outlet>
</div>
Run Code Online (Sandbox Code Playgroud)
这是路由到的模板:
<div class="ink-explorer">
<div class="ink-items">
<div class="ink-item"
[@flyInOut]="state"
*ngFor="let result of results | async;trackBy: trackById"
routerLinkActive="ink-active-item">
<a [routerLink]="[result.id]">
<md-icon svgIcon="flask"
[ngClass]="{ 'ink-failed': (result.status === 2), 'ink-pending': result.status === 4, 'ink-success': result.status === 6 }">
</md-icon>
<div class="ink-item-title">{{result.description}}</div>
</a>
</div> …
Run Code Online (Sandbox Code Playgroud) 我创建了Angular Library(ngx-wig),我希望能够通过使用插件来扩展其功能.
什么是在Angular中声明插件的最佳位置?(可能是这样的myLibModule.forRoot(..)
)和插件本身应该是什么类型的实例?
我通过使用主模块的configProvider为每个插件添加模块,为AngularJs 解决了同样的问题.不太喜欢这个解决方案,因为插件会自行注册,但它应该是使用库的应用程序的责任.
UPDATE:相关的问题被打开GitHub上这里.
我正在深入研究Angular 2中的DI.我正在使用泛型子类型实现一个REST-Client,用于具体的数据类型,如下所示:
class RESTClient<T>{
constructor() {
var inj = ReflectiveInjector.resolveAndCreate([HTTP_PROVIDERS]);
this.http = inj.get(Http);
this.conf = RESTConfiguration;
}
}
class BookClient extends RESTClient<Book>{
constructor(){
// since I dont want to inject the HTTP Providers here, I'm using a custom injector in the super class
super();
}
}
class WriterClient extends RESTClient<Writer>{
...
...
}
Run Code Online (Sandbox Code Playgroud)
据我所知,在超类REST-Service注入的所有RESTClient之间将共享一个http服务.
现在我希望有一个RESTConfiguration类:
@Injectable()
export class RESTConfiguration {
get baseURL() {
return this._baseURL;
}
set baseURL(value) {
alert("sets value to"+value);
this._baseURL = value;
}
private _baseURL;
}
Run Code Online (Sandbox Code Playgroud)
它应该在主应用程序中配置如下: …
我们何时应该使用useExisting提供程序而不是useClass?
providers: [
{provide: Class1, useClass: Class1},
{provide: Class2, useExisting: Class2}]
Run Code Online (Sandbox Code Playgroud)
评论:我没有在SO上找到确切的问题.为了更好的索引决定在这里创建这个特定的索引,虽然我找到了这个答案:
但是想有更多真实的例子
我正在使用角度和角度材料的新版本.我需要获取datepicker
用户更改日期时的值,然后将该值传递给函数并执行某些操作.
日期选择器
<mat-form-field>
<input matInput [matDatepicker]="picker" placeholder="Choose a date" [(ngModel)]="roomsFilter.date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker [(ngModel)]="roomsFilter.date" ngDefaultControl (selectedChanged)="onChange($event)"></mat-datepicker>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
这个功能.
public onChange(event: any, newDate: any): void {
console.log(event.target.value);
// this.getData(newDate);
}
Run Code Online (Sandbox Code Playgroud) angular ×8
angular-cli ×2
angular-di ×1
datepicker ×1
html ×1
html5 ×1
javascript ×1
jbehave ×1
regex ×1
singleton ×1
typescript ×1
validation ×1