कोणीय के साथ फोकस तत्वों को कैसे सेट किया जाए, इसके उदाहरणों की तलाश करने के बाद, मैंने देखा कि उनमें से ज्यादातर फ़ोकस सेट करने के लिए देखने के लिए कुछ चर का उपयोग करते हैं, और उनमें से अधिकांश प्रत्येक फ़ील्ड के लिए एक अलग चर का उपयोग करते हैं जिसे वे फ़ोकस सेट करना चाहते हैं। एक रूप में, बहुत सारे क्षेत्रों के साथ, इसका मतलब है कि बहुत सारे विभिन्न चर।
जेक्वेरी तरीके को ध्यान में रखते हुए, लेकिन कोणीय तरीके से ऐसा करने के लिए, मैंने एक समाधान बनाया कि हम किसी भी फ़ंक्शन में तत्व की आईडी का उपयोग करके ध्यान केंद्रित करें, इसलिए, जैसा कि मैं कोणीय में बहुत नया हूं, मैं कुछ राय लेना चाहता हूं यदि यह तरीका सही है, समस्याएँ हैं, जो भी हो, कुछ भी जो मुझे कोणीय में बेहतर तरीके से करने में मदद कर सकता है।
मूल रूप से, मैं एक निर्देश बनाता हूं जो उपयोगकर्ता द्वारा परिभाषित एक गुंजाइश मान को निर्देश के साथ, या डिफ़ॉल्ट का ध्यान केंद्रित करता है, और जब वह मान तत्व के आईडी के समान होता है, तो वह तत्व सेट फोकस होता है।
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();
})
}
};
});
एक इनपुट जिसे किसी कारण से ध्यान केंद्रित करने की आवश्यकता है, वह इस तरह से करेगा
<input my-focus id="input1" type="text" />
ध्यान केंद्रित करने के लिए यहां कोई भी तत्व:
<a href="" ng-click="clickButton()" >Set focus</a>
और उदाहरण फ़ंक्शन जो फोकस सेट करता है:
$scope.clickButton = function() {
$scope.focusElement = "input1";
}
क्या यह कोणीय में एक अच्छा समाधान है? क्या यह समस्या है कि मेरे खराब अनुभव के साथ मुझे अभी तक नहीं देखा गया है?