我们是否仍然在使用<form>元素时使用AngularJS双向数据绑定可以直接控制控制器中的表单数据?
我们是否应该使用表格来尊重HTML结构,或者还有其他一些原因我们应该继续使用它们?没有使用<form>元素的方法有什么缺点?
angular.module('formsOrNot', [])
.controller('ExampleController', ['$scope', function($scope) {
// Form example
$scope.list1 = [];
$scope.submit1 = function() {
if ($scope.text1) {
$scope.list1.push(this.text1);
$scope.text1 = '';
}
};
// Without form
$scope.list2 = [];
$scope.submit2 = function() {
if ($scope.text2) {
$scope.list2.push(this.text2);
$scope.text2 = '';
}
};
}]);Run Code Online (Sandbox Code Playgroud)
input.ng-invalid-required.ng-dirty, input.ng-invalid-email.ng-dirty {
border: 1px solid red;
}
input.ng-invalid-required.ng-pristine, input.ng-invalid-email.ng-pristine {
border: 1px solid red;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="formsOrNot">
<div ng-controller="ExampleController">
<header>
<h1>Forms or …Run Code Online (Sandbox Code Playgroud)我正在使用 ng-file-upload 来预览和上传图像。在上传图像之前,我想让用户裁剪图像。我尝试使用 ng-img-crop,但它没有我想要的功能(宽高比自定义),但是cropper 有(https://github.com/fengyuanchen/cropper/)。我现在唯一的问题是如何使用cropper 裁剪图像的预览。图像 src 最终成为一个 blob,即“blob:XYZ”。有没有人以这种方式成功使用过cropper?是否可以?
我是Magento的新手,我需要一些概念指南和/或参考资料.我需要创建自定义表单,它将成为product-info页面的一部分(在它的底部),并将收集用户输入(电子邮件,大小,颜色).只有部分产品具有此功能/形式(由管理员决定).因此,此表单的目标是向商店管理员发送有关库存但不是希望尺寸和/或颜色的产品的电子邮件.我应该自定义现有Contact us表格还是应该在新模块中创建新的自定义表单?
表格应通过电子邮件向管理员提交数据以及产品名称.
在MDN Event.target参考中,有一个关于实现事件委派的示例:
// Assuming there is a 'list' variable containing an instance of an
// HTML ul element.
function hide(e) {
// Unless list items are separated by a margin, e.target should be
// different than e.currentTarget
e.target.style.visibility = 'hidden';
}
list.addEventListener('click', hide, false);
// If some element (<li> element or a link within an <li> element for
// instance) is clicked, it will disappear.
// It only requires a single listener to do that
Run Code Online (Sandbox Code Playgroud)
我在示例中不理解的是这条评论: …
我正在尝试Angular2+使用来自共享服务的 Observable创建一个路由保护,该服务保存当前用户角色的字符串值。
问题显然在于将我的注意力从 Promises 转移到 Observables。
到目前为止,我所做的都是基于启发式和尝试错误的方法,但我通过杀死浏览器来解决问题感谢 danday74
.
借助相当于promise.then()的RxJS 序列?我已经将我想做的事情翻译成这个链:
canActivate(route: ActivatedRouteSnapshot): Observable<boolean> | boolean {
return this.auth.isRoleAuthenticated(route.data.roles)
.mergeMap((isRoleAuthenticated: boolean) => {
return isRoleAuthenticated ? Observable.of(true) : this.auth.isRole(Roles.DEFAULT_USER);
})
.do((isDefaultUser: boolean) => {
const redirectUrl: string = isDefaultUser ? 'SOMEWHERE' : 'SOMEWHERE_ELSE';
this.router.navigate([redirectUrl]);
})
.map((isDefaultUser: boolean) => {
return false;
});
}
Run Code Online (Sandbox Code Playgroud)
如果 ,如何停止可观察链的进一步传播isRoleAuthenticated = true?如果满足此类条件,我需要返回该布尔值,并确保.do之后不调用运算符块。
限制是必须从canActivate警卫返回布尔值。
observable rxjs angular angular-router-guards angular-observable
在以下几行中,我确实理解LINQ部分,但是当我尝试理解最后一行时,我会完全麻木.
var roles=from r in db.Role
from u in db.User
where r.RoleID==u.RoleID
&& u.UserName==username
select new
{
RoleNames=r.RoleName
};
return new string[] {roles.ToArray()[0].RoleNames};
变量roles是IEnumerable类型(对吧?),它包含匿名的RoleNames对象集合?最后一行,复杂的赋值给string [] {roles.ToArray()[0].RoleNames}.
,roles转换为数组(OK)然后幻像索引[0](为什么?)然后在最后RoleNames包含的匿名类型roles但是如何成为一个字符串数组.
感谢先进,即使是外观.
angular ×2
javascript ×2
angularjs ×1
c# ×1
crop ×1
cropperjs ×1
dom-events ×1
file-upload ×1
html5 ×1
linq ×1
magento ×1
observable ×1
php ×1
rxjs ×1