我在Angularjs中并不多,并且使用专注于特定元素的指令。它看起来如下:
appModule.directive('autoFocus', function ($timeout) {
return {
restrict: 'AC',
link: function (scope, element, attrs) {
$timeout(function () {
element[0].focus();
}, 0);
}
};
});
用法如下:
<button auto-focus class="uui-button lime-green btn" ng-click="copyToClipboard()">
Copy
</button>
我想重新安排上面的指令以便能够写:auto-focus =“true”或auto-focus =“false”。
更新
我已经更新了如下所示的代码,但无论我写的是auto-focus =“true”还是auto-focus =“false”,它都无法使用焦点。
appModule.directive('autoFocus', function ($timeout) {
return {
restrict: 'AC',
link: function (scope, element, attrs) {
var hasFocus = attrs.autoFocus;
if (hasFocus) {
$timeout(function () {
element[0].focus();
}, 0);
}
}
};
});
答案 0 :(得分:1)
您可以将该属性设置为true或false,并通过attrs.autoFocus
函数<{1}}函数内的link
访问该值
编辑:
appModule.directive('autoFocus', function ($timeout) {
return {
restrict: 'AC',
link: function (scope, element, attrs) {
var hasFocus = attrs.autoFocus;
if (hasFocus ==="true") {
$timeout(function () {
element[0].focus();
}, 0);
}
}
};
});