এটি সম্ভব এবং এখানে ইনপুটগুলির একটি টেবিল দিয়ে আমি একই জিনিসটি কীভাবে করব।
যেমন একটি ফর্ম টেবিল মোড়ানো
তারপরে এটি ব্যবহার করুন
আমার একাধিক নেস্টেড নির্দেশিকা রয়েছে যাতে সমস্ত ইনপুট (গুলি), নির্বাচন (গুলি) ইত্যাদি থাকে ... এই উপাদানগুলি সমস্ত এনজি-পুনরাবৃত্তি এবং গতিশীল স্ট্রিংয়ের মানগুলিতে আবদ্ধ।
এইভাবে নির্দেশিকাটি কীভাবে ব্যবহার করবেন:
<form name="myFormName">
<nested directives of many levels>
<your table here>
<perhaps a td here>
ex: <input ng-repeat=(index, variable) in variables" type="text"
my-name="{{ variable.name + '/' + 'myFormName' }}"
ng-model="variable.name" required />
ex: <select ng-model="variable.name" ng-options="label in label in {{ variable.options }}"
my-name="{{ variable.name + index + '/' + 'myFormName' }}"
</select>
</form>
দ্রষ্টব্য: আপনি যদি স্ট্রিং সংমিশ্রণে যুক্ত করতে পারেন এবং সূচীটি করতে পারেন যদি আপনাকে সম্ভবত ইনপুটগুলির একটি টেবিলটি সিরিয়ালকরণ করতে হয়; যা আমি করলাম
app.directive('myName', function(){
var myNameError = "myName directive error: "
return {
restrict:'A', // Declares an Attributes Directive.
require: 'ngModel', // ngModelController.
link: function( scope, elem, attrs, ngModel ){
if( !ngModel ){ return } // no ngModel exists for this element
// check myName input for proper formatting ex. something/something
checkInputFormat(attrs);
var inputName = attrs.myName.match('^\\w+').pop(); // match upto '/'
assignInputNameToInputModel(inputName, ngModel);
var formName = attrs.myName.match('\\w+$').pop(); // match after '/'
findForm(formName, ngModel, scope);
} // end link
} // end return
function checkInputFormat(attrs){
if( !/\w\/\w/.test(attrs.rsName )){
throw myNameError + "Formatting should be \"inputName/formName\" but is " + attrs.rsName
}
}
function assignInputNameToInputModel(inputName, ngModel){
ngModel.$name = inputName
}
function addInputNameToForm(formName, ngModel, scope){
scope[formName][ngModel.$name] = ngModel; return
}
function findForm(formName, ngModel, scope){
if( !scope ){ // ran out of scope before finding scope[formName]
throw myNameError + "<Form> element named " + formName + " could not be found."
}
if( formName in scope){ // found scope[formName]
addInputNameToForm(formName, ngModel, scope)
return
}
findForm(formName, ngModel, scope.$parent) // recursively search through $parent scopes
}
});
এটি এমন অনেকগুলি পরিস্থিতিতে পরিচালনা করবে যেখানে আপনি কেবল ফর্মটি কোথায় থাকবে তা জানেন না। অথবা সম্ভবত আপনি ফর্মগুলি নেস্ট করেছেন, তবে কোনও কারণে আপনি এই ইনপুটটির নামটি দুটি ফর্মের সাথে সংযুক্ত করতে চান? ঠিক আছে, আপনি যে ফর্মটির সাথে ইনপুট নামটি সংযুক্ত করতে চান তা কেবল পাস করুন।
আমি যা চেয়েছিলাম তা হ'ল ইনপুটগুলিতে ডায়নামিক মান নির্ধারণের একটি উপায় যা আমি কখনই জানতে পারি না এবং তারপরে কেবল $ স্কোপ.মাইফর্মনেম $ কল করুন।
আপনি নিজের ইচ্ছে মতো যে কোনও কিছু যুক্ত করতে পারেন: আরও সারণী আরও ফর্ম ইনপুট, নেস্টেড ফর্মগুলি, আপনি যা চান তাই করুন। আপনি যে ফর্মের নামটি বৈধ করতে চান তার কেবল পাস করুন। তারপরে ফর্মের উপর জমা দিন কিনা জিজ্ঞাসা করুন y সুযোগ yআপনার নাম। বৈধ