我想有两列50%宽度的空间,并避免浮动.所以我想用display:inline-block.
当元素增加到99%宽度(例如50%,49%,http://jsfiddle.net/XCDsu/2/)时,它按预期工作.
当使用100%宽度(例如50%,50%,http://jsfiddle.net/XCDsu/3/)时,第二列会断开第二行.
这是为什么?
这让我疯了,我在枪下,无法再花上一整天的时间.
我试图在组件中手动设置一个控制值('dept'),它只是不工作 - 甚至新值记录到控制台正常.
这是FormBuilder实例:
initForm() {
this.form = this.fb.group({
'name': ['', Validators.required],
'dept': ['', Validators.required],
'description': ['', Validators.required],
});
}
Run Code Online (Sandbox Code Playgroud)
这是接收选定部门的事件处理程序:
deptSelected(selected: { id: string; text: string }) {
console.log(selected) // Shows proper selection!
// This is how I am trying to set the value
this.form.controls['dept'].value = selected.id;
}
Run Code Online (Sandbox Code Playgroud)
现在,当表单提交并且我注销时,this.form该字段仍然是空白的!我已经看过其他用户,updateValue()但这是beta.1,我不认为这是调用控件的有效方法.
我也试图打电话updateValueAndValidity()没有成功:(.
我只是ngControl="dept"在表单元素上使用,就像我正在使用表单的其余部分,但它是一个自定义指令/组件.
<ng-select
[data]="dept"
[multiple]="false"
[items]="depts"
(selected)="deptSelected($event)" <!-- This is how the value gets to me -->
[placeholder]="'No Dept Selected'"></ng-select>
Run Code Online (Sandbox Code Playgroud) 我是否错过了一个标准的API调用,可以从一个数字中删除尾随无效的零?
防爆.
var x = 1.234000 // to become 1.234;
var y = 1.234001; // stays 1.234001
Run Code Online (Sandbox Code Playgroud)
Number.toFixed()和Number.toPrecision()并不是我想要的.
我正在处理登录表单,如果用户输入无效凭据,我们要将电子邮件和密码字段都标记为无效,并显示一条消息,指出登录失败.如何从可观察的回调中将这些字段设置为无效?
模板:
<form #loginForm="ngForm" (ngSubmit)="login(loginForm)" id="loginForm">
<div class="login-content" fxLayout="column" fxLayoutAlign="start stretch">
<md-input-container>
<input mdInput placeholder="Email" type="email" name="email" required [(ngModel)]="email">
</md-input-container>
<md-input-container>
<input mdInput placeholder="Password" type="password" name="password" required [(ngModel)]="password">
</md-input-container>
<p class='error' *ngIf='loginFailed'>The email address or password is invalid.</p>
<div class="extra-options" fxLayout="row" fxLayoutAlign="space-between center">
<md-checkbox class="remember-me">Remember Me</md-checkbox>
<a class="forgot-password" routerLink='/forgot-password'>Forgot Password?</a>
</div>
<button class="login-button" md-raised-button [disabled]="!loginForm.valid">SIGN IN</button>
<p class="note">Don't have an account?<br/> <a [routerLink]="['/register']">Click here to create one</a></p>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
登录方式:
@ViewChild('loginForm') loginForm: HTMLFormElement;
private login(formData: any): void {
this.authService.login(formData).subscribe(res => …Run Code Online (Sandbox Code Playgroud) 我一直在阅读Angular2新的Forms API,似乎表单上有两种方法,一种是模板驱动形式,另一种是反应式或模型驱动型.
我想知道两者之间的实际差异,不是语法上的差异(显然),而是实际用途,哪种方法在不同情况下有更多好处.另外,选择其中一个是否有性能提升?如果是,为什么?
嵌套在我们的Angular应用程序中的是一个名为Page的指令,由一个控制器支持,该控制器包含一个带有ng-bind-html-unsafe属性的div.这被分配给名为'pageContent'的$ scope var.此var从数据库中分配动态生成的HTML.当用户翻转到下一页时,会调用DB,并将pageContent var设置为这个新的HTML,它将通过ng-bind-html-unsafe在屏幕上呈现.这是代码:
页面指令
angular.module('myApp.directives')
.directive('myPage', function ($compile) {
return {
templateUrl: 'page.html',
restrict: 'E',
compile: function compile(element, attrs, transclude) {
// does nothing currently
return {
pre: function preLink(scope, element, attrs, controller) {
// does nothing currently
},
post: function postLink(scope, element, attrs, controller) {
// does nothing currently
}
}
}
};
});
Run Code Online (Sandbox Code Playgroud)
Page指令的模板(上面的templateUrl属性中的"page.html")
<div ng-controller="PageCtrl" >
...
<!-- dynamic page content written into the div below -->
<div ng-bind-html-unsafe="pageContent" >
...
</div>
Run Code Online (Sandbox Code Playgroud)
页面控制器
angular.module('myApp') …Run Code Online (Sandbox Code Playgroud) 我在Mac OS 10.8.5上安装了docker-machine 0.1.0和docker-compose 1.1.0.
Docker-machine正常运行,可以通过docker-machine ssh连接.
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dev * virtualbox Running tcp://192.168.99.100:2376
Run Code Online (Sandbox Code Playgroud)
但无法从docker-compose连接.
$ docker-compose up
Run Code Online (Sandbox Code Playgroud)
我的Dockerfile和docker-compose.yml就在这里.
Dockerfile
FROM centos:centos7
DOCKER_HOST tcp://192.168.99.100:2376
Run Code Online (Sandbox Code Playgroud)
泊坞窗,compose.yml
web:
build: .
Run Code Online (Sandbox Code Playgroud)
为什么不能连接?有任何想法吗?
我正在使用angularjs编写示例应用程序.我在chrome浏览器上遇到了下面提到的错误.
错误是
错误:[ng:areq] http://errors.angularjs.org/1.3.0-beta.17/ng/areq?p0=ContactController&p1=not%20a%20function%2C%20got%20undefined
其中呈现为
参数'ContactController'不是函数,未定义
码
<!DOCTYPE html>
<html ng-app>
<head>
<script src="../angular.min.js"></script>
<script type="text/javascript">
function ContactController($scope) {
$scope.contacts = ["abcd@gmail.com", "abcd@yahoo.co.in"];
$scope.add = function() {
$scope.contacts.push($scope.newcontact);
$scope.newcontact = "";
};
}
</script>
</head>
<body>
<h1> modules sample </h1>
<div ng-controller="ContactController">
Email:<input type="text" ng-model="newcontact">
<button ng-click="add()">Add</button>
<h2> Contacts </h2>
<ul>
<li ng-repeat="contact in contacts"> {{contact}} </li>
</ul>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有一个网页,上面有3个表格.没有嵌套,只是一个接一个(它们几乎完全相同,只有一个不同的隐藏变量).用户只填写一个表单,我想用只有一个JS脚本验证/ etc所有表单.
那么,当用户点击表单#1的提交按钮时,如何让我的js脚本只处理form1中的字段?我认为它与$(this).parents有关,但我不知道该如何处理它.
我的验证脚本(我在别处使用过,只有一个表单)看起来像这样:
$(document).ready(function(){
$("#submit").click(function(){
$(".error").hide();
var hasError = false;
var nameVal = $("#name").val();
if(nameVal == '') {
$("#name").after('Please enter your name.');
hasError = true;
}
if(hasError == false) {blah blah do all the processing stuff}
所以我需要用$("#name").val()替换$(this).parents('form').name.val()?或者有更好的方法来解决这个问题吗?
谢谢!
angular ×3
angularjs ×2
forms ×2
html ×2
javascript ×2
jquery ×2
compilation ×1
components ×1
css ×1
docker ×1
dom ×1
dynamic ×1
math ×1
numbers ×1
regex ×1
validation ×1