我不太明白何时使用指令以及何时使用nginclude更合适.举个例子:我有一个部分,password-and-confirm-input-fields.html就是用于输入和确认密码的html.我在注册页面和更改密码页面下使用它.这两个页面各有一个控制器,部分html没有专用控制器.
我应该使用指令还是ngInclude为此?
标题说明了一切.如何在不订阅的情况下从Observable获取当前值?我只想要当前值一次而不是新值,因为它们正在进入......
我有三个gulp任务,其中最后一个task(allScripts)首先运行两个相关任务,然后从它们加入结果文件.
在上一个任务中,我可以从两个第一个任务中删除两个结果文件,并且在使用连接文件之后幸福地生活.
但我在想,是否有可能通过某种方式allScripts"直接"将这些临时文件传递给任务?
gulp.task('firstGroup', function() {
return gulp.src('some/files/*.js')
.pipe(doSomething())
.pipe(concat('some-scripts.js'))
.pipe(gulp.dest('dest'));
});
gulp.task('secondGroup', function() {
return gulp.src('some/other/files/*.js')
.pipe(doSomethingElse())
.pipe(concat('some-other-scripts.js'))
.pipe(gulp.dest('dest'));
});
gulp.task('allScripts', ['firstGroup','secondGroup'], function() {
return gulp.src(['dest/some-scripts.js','dest/some-other-scripts.js'])
.pipe(concat('all-scripts.js'))
.pipe(gulp.dest('dest'))
// delete the two src-files
});
Run Code Online (Sandbox Code Playgroud) 以下内容不是将div与浏览器选项卡中的文本垂直对齐(它正确地水平对齐):
<div style="height: 100%; display: flex; align-items: center; justify-content: center;">
<div>
Some vertical and horizontal aligned text
</div>
</div>Run Code Online (Sandbox Code Playgroud)
怎么了?
我是CSS的新手,我正在使用Bootstrap,我希望以两种方式使用表单:表单字段周围有或没有边框.我怎样才能做到最好?以下是我想删除边框的Bootstrap表单示例:plnkr.co/edit/xxx1Wy4kyCESNsChK4Ra?p=preview.
出于好奇,我想要的原因是,我想首先向用户显示他拥有的数据,然后根据表单是否处于"编辑"模式切换显示边框.用户可以通过单击"编辑"链接进入"编辑"模式,或者只是开始编辑字段.
我看到许多关于身份验证的教程在$ rootScope上放置了一个'auth'对象,包括来自FireBase-people 的AngularFire-seed.
我认为将对象放在rootcope上是不好的做法,而应该改为创建服务.在认证方面,为什么这(显然)没问题?或者更确切地说是更普遍的问题:什么时候可以,甚至是在基因镜上放一些东西的好习惯?
举另一个例子.我还有一个用户的配置文件对象.将它添加到auth-object中也可以吗?在这种情况下,我甚至不会污染rootcope,因为auth-object已经存在了.将配置文件放在这样的rootcope上是否可以(通过auth-object)?如果没有,为什么?
我知道,这是几个问题,但他们都归结为标题中的一个问题......
我有一些带有一些通用代码的控制器,特别$scope.$watch是对于几个控制器来说是相同的.如何将此代码放在单独的文件中,并在需要此功能的各种控制器中导入公共代码$watch?
我正在使用Bootstrap并想要覆盖一些css:我在禁用状态下删除表单字段中的背景,边框和不允许指针.
这就是我的css的样子:
.no-extras {
border: 0 !important;
box-shadow: none !important;
background-color: white !important;
cursor: default !important;
}
Run Code Online (Sandbox Code Playgroud)
但我知道使用它是一件坏事!重要的是.但是我应该如何更改代码以避免使用!important?我试图通过"input.no-extras"和类似的方式使其更具体,但到目前为止还没有任何运气...
请参阅此处的示例代码http://plnkr.co/edit/1AuszJ?p=preview
尝试使用RouteParams来获取查询字符串参数,但我只是得到了错误
无法解析'RouteParams'(?)的所有参数.确保所有参数都使用Inject进行修饰或具有有效的类型注释,并且'RouteParams'使用Injectable进行修饰.angular2-polyfills.js:332错误:无法读取未定义的属性'getOptional'.......
看看这个Plnkr.如何在不收到此警告的情况下使用RouteParams?
重要文件是:
boot.ts:
import {bootstrap} from 'angular2/platform/browser';
import {ROUTER_PROVIDERS, RouteParams} from 'angular2/router';
import {AppComponent} from './app/app.component';
bootstrap(AppComponent, [ROUTER_PROVIDERS, RouteParams]);
Run Code Online (Sandbox Code Playgroud)
并且app.component.ts:
import {Component, OnInit} from 'angular2/core';
import {RouteParams} from "angular2/router";
@Component({
selector: 'app',
template: `
<p *ngIf="guid">guid gived is: {{guid}}</p>
<p *ngIf="!guid">No guid given in query-string in URL</p>
`
})
export class AppComponent implements OnInit {
guid:string;
constructor(private _params: RouteParams) {} //
ngOnInit() {
this.guid = this._params.get('guid');
}
}
Run Code Online (Sandbox Code Playgroud)
更新:
我没有任何路由,我只有默认的根路由(如果我没有其他路由,那么可以称之为路由......).但正如Gianluca建议的那样,我添加了以下路由配置:
@RouteConfig([
{ path: …Run Code Online (Sandbox Code Playgroud) 我希望帮助块与输入字段内联(如果输入字段右侧有可用空间),但无论屏幕有多宽,它都在输入字段下方.我该如何将其内联?
这是表格:
<form class="form-inline" role="form">
<div class="form-group">
<label for="query">Search</label>
<input type="text"
ng-model="query"
class="form-control"
id="query"
placeholder="Enter search text">
<span class="help-block">
Search in any field...
</span>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
这是一个插件.