在查看了如何使用angular设置焦点元素的示例后,我看到他们中的大多数使用一些变量来观察然后设置焦点,并且大多数变量为他们想要设置焦点的每个字段使用一个不同的变量.在一个具有大量字段的表单中,这意味着存在许多不同的变量.
考虑到jquery的方式,但是想要以有角度的方式做到这一点,我做了一个解决方案,我们使用元素的id设置焦点在任何函数中,所以,因为我是一个非常新的角度,我想得到一些意见,如果这种方式是正确的,有问题,无论如何,任何可以帮助我做到这一点的角度更好的方式.
基本上,我创建了一个指令,用于监视用户使用指令或默认的focusElement定义的作用域值,并且当该值与元素的id相同时,该元素集自身焦点.
angular.module('appnamehere')
.directive('myFocus', function () {
return {
restrict: 'A',
link: function postLink(scope, element, attrs) {
if (attrs.myFocus == "") {
attrs.myFocus = "focusElement";
}
scope.$watch(attrs.myFocus, function(value) {
if(value == attrs.id) {
element[0].focus();
}
});
element.on("blur", function() {
scope[attrs.myFocus] = "";
scope.$apply();
})
}
};
});
Run Code Online (Sandbox Code Playgroud)
由于某种原因需要获得焦点的输入将采用这种方式
<input my-focus id="input1" type="text" />
Run Code Online (Sandbox Code Playgroud)
这里设置焦点的任何元素:
<a href="" ng-click="clickButton()" >Set focus</a>
Run Code Online (Sandbox Code Playgroud)
以及设置焦点的示例函数:
$scope.clickButton = function() {
$scope.focusElement = "input1";
}
Run Code Online (Sandbox Code Playgroud)
这是角度很好的解决方案吗?是否有问题,由于我的经验不佳,我还没有看到?
我认为这可能是一个愚蠢的问题但是在阅读了很多并且搜索了大量关于图像处理的每个例子后我看到图像处理使用灰度工作
我知道灰度图像只使用一个颜色通道,通常只需要8位表示等等...但是,为什么在我们有彩色图像时使用灰度?灰度等级有哪些优点?我可以想象这是因为我们有更少的东西可以治疗,但即使在今天使用更快的计算机,这是必要的吗?
我不确定我是否清楚我的怀疑,我希望有人能回答我
非常感谢你