سؤال

اسمحوا لي أن أصف ما أحاول القيام به.أنا بناء التوجيه نانوغرام ديناميكية حقا لبناء الجدول على أساس مجموعة البيانات وكائن التكوين المقدمة.ما أريد معرفته هو كيفية تعيين السمات ديناميكيا بناء على كائن في النطاق.لنفترض أن لدي كائنا في مكان ما في النطاق مثل:

$scope.inputs.myInput = {
    type : "number",
    size : 3,
    min : 0,
    ...
}

وهلم جرا وفي مكان ما في قالب بلدي هو

<tr><td>other stuff</td><td><input {{assign the attributes somehow}} /></td></tr>

والنتيجة ستكون:

<tr><td>other stuff</td><td><input type='number' size='3' min='0' ... /></td></tr>

هل هذا ممكن بطريقة أو بأخرى?

ما حاولت:حاليا ، تمكنت من إنشاء إدخال لكل عنصر في مصفوفة الإدخال في كل صف ويمكنني تعيين نوع حسب type={{type}} ولكن سمات هتمل يمكن أن تختلف لكل نوع من عنصر الإدخال وأعتقد أنه سيكون من سيئة لتعيين سمات إلى عنصر "الثابت ترميز" الطريقة وحصلت على تمسك هنا.

شكرا مقدما على أي ردود فعل!

هل كانت مفيدة؟

المحلول

وهنا غطس بالنسبة لك:

.directive('dynamicAttributes', function($parse){
  return function($scope, $element, $attrs) {
    var attrs = $parse($attrs.dynamicAttributes)($scope);
    for (var attrName in attrs) {
      $attrs.$set(attrName, attrs[attrName]);
    }
  }
})

مجرد تمرير الكائن الخاص بك من أزواج اسم قيمة السمة إلى dynamic-attributes السمة والتوجيه سوف إضافته لك:

dynamic-attributes="{style:'background: red;height:200px;', class: 'red'}"

في حالتك سيكون شيئا من هذا القبيل:

<input dynamic-attributes="inputs.myInput">
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top