আমার একটি ফর্ম নির্দেশিকা রয়েছে যা callback
একটি বিচ্ছিন্ন সুযোগের সাথে একটি নির্দিষ্ট বৈশিষ্ট্য ব্যবহার করে :
scope: { callback: '&' }
এটি একটির ভিতরে বসে ng-repeat
তাই আমি যে অভিব্যক্তিটি পাস করি id
তাতে কলব্যাক ফাংশনের যুক্তি হিসাবে অবজেক্টটির অন্তর্ভুক্ত থাকে:
<directive ng-repeat = "item in stuff" callback = "callback(item.id)"/>
আমি যখন নির্দেশিকাটি শেষ করেছি, এটি $scope.callback()
এর নিয়ামক ফাংশন থেকে কল করে। বেশিরভাগ ক্ষেত্রে এটি ঠিক আছে, এবং আমি যা করতে চাই তা সবই তবে কখনও কখনও আমি directive
নিজে থেকেই অন্য যুক্তি যুক্ত করতে চাই ।
এমন কোন কৌণিক অভিব্যক্তি যা এর অনুমতি দেবে:, $scope.callback(arg2)
যার ফলে callback
ডাকা হচ্ছে arguments = [item.id, arg2]
?
যদি তা না হয় তবে এটি করার নিকটতম উপায় কী?
আমি খুঁজে পেয়েছি যে এটি কাজ করে:
<directive
ng-repeat = "item in stuff"
callback = "callback"
callback-arg="item.id"/>
সঙ্গে
scope { callback: '=', callbackArg: '=' }
এবং নির্দেশিকা আহ্বান
$scope.callback.apply(null, [$scope.callbackArg].concat([arg2, arg3]) );
তবে আমি মনে করি এটি বিশেষভাবে ঝরঝরে নয় এবং এর মধ্যে অতিরিক্ত জিনিসগুলি বিচ্ছিন্ন সুযোগে রাখা জড়িত।
একটি ভাল উপায় আছে কি?
এখানে প্লাঙ্কার খেলার মাঠ (কনসোল খোলা আছে)।
ng
এপিআই এর সাথে সামঞ্জস্যপূর্ণ উদাহরণস্বরূপ ng-click="someFunction()"
এমন একটি অভিব্যক্তি যা কোনও ফাংশন সম্পাদন করার ক্ষেত্রে মূল্যায়ন করে।
$scope.callback
দ্বারা সেট করা আছে । হয় একটি ফাংশন পরের কোন তারিখে বলা হবে। প্রকৃত বৈশিষ্ট্যটির মানটি অবশ্যই একটি স্ট্রিং - এটি এইচটিএমএল এর ক্ষেত্রে সর্বদা ক্ষেত্রে। callback="someFunction"
scope: { callback: '=' }
$scope.callback