কৌণিকের সাথে কীভাবে ফোকাস উপাদান নির্ধারণ করা হয়েছে তার উদাহরণগুলি সন্ধান করার পরে, আমি দেখেছি যে তাদের বেশিরভাগগুলি তখন নির্দিষ্ট ফোকাসটি দেখার জন্য কিছু পরিবর্তনশীল ব্যবহার করে এবং তাদের বেশিরভাগ ফোকাস সেট করতে চায় এমন প্রতিটি ক্ষেত্রে আলাদা আলাদা ভেরিয়েবল ব্যবহার করে। একটি ফর্মের সাথে, অনেকগুলি ক্ষেত্র সহ, এটি বিভিন্ন ভেরিয়েবলের মধ্যে বোঝায়।
মনে মনে jquery উপায়, কিন্তু কৌণিকভাবে এটি করতে চাই, আমি একটি সমাধান করেছি যে আমরা উপাদান এর আইডি ব্যবহার করে যে কোনও ফাংশন ফোকাস সেট, তাই, আমি কৌণিক হিসাবে খুব নতুন হিসাবে আমি কিছু মতামত পেতে চাই এই উপায়টি সঠিক, সমস্যা আছে, যাই হোক না কেন, যে কোনও কিছু আমাকে কৌণিক ক্ষেত্রে এটি আরও ভাল উপায়ে করতে সহায়তা করতে পারে।
মূলত, আমি একটি নির্দেশিকা তৈরি করি যা ব্যবহারকারী দ্বারা নির্দেশকের সাথে সংজ্ঞায়িত স্কোপ মান বা ডিফল্টর ফোকাসএলিমেন্ট দেখে থাকে এবং যখন সেই মানটি উপাদানটির আইডির সমান হয় তখন সেই উপাদানটি নিজেই ফোকাস করে।
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";
}
এটি কৌণিক ক্ষেত্রে একটি ভাল সমাধান? এর কি এমন সমস্যা আছে যা আমার খারাপ অভিজ্ঞতার সাথে আমি এখনও দেখি না?