سؤال

انا استخدم cell template ممتلكات ng-grid.أقوم بتحديد وظيفة واحدة في التوجيه.ضمن نفس التوجيه أقوم بتعريف بلدي grid-options.هنا هو الرمز:

data: 'mydata',
columnDefs: [

{field:'Timeout', displayName:'Delay', cellTemplate: '<a href="" 
ng-click= "Report(Alert,Key,1000,1,1);"><div class=\"ngCellText\">{{row.getProperty(col.field)}}</div></a>'}   
        ]

والوظيفة Report يتم تعريفه أيضًا ضمن نفس التوجيه.

ng-click يعمل كلما تم النقر عليه.يتم استدعاء الوظيفة ولكن مهما كان متغير الإدخال الذي أقوم بتمريره (Alert و Key) لا يمرر إلى الوظيفة بينما المعلمات الثلاثة المتبقية 1000,1,1 يتم تمريرها.Alert هي السلسلة المشفرة التي أريد تمريرها.Key هي إحدى مصفوفة القيم الصحيحة في "mydata".لقد راجعت باستخدام alert لهاتين القيمتين المحددتين في الوظيفة وتظهر غير محددة.

الرجاء المساعدة في استدعاء الدالة بشكل صحيح.شكرا لك مقدما.

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

المحلول

هل تريد شيئا من هذا القبيل:

  $scope.Report=function(msg,key,v1,v2,v3){
    //use v1, v2, v3 for whatever you like
    alert(msg+':'+key);
  };

  $scope.gridOptions = {
    data: 'myData',
    columnDefs: [
      {
        field: 'name',
        displayName: 'Delay',
        cellTemplate: '<a href="" ng-click= "Report(\'Alert\',row.entity.age,1000,1,1);"><div class=\"ngCellText\">{{row.getProperty(col.field)}}</div></a>'
      }, {
        field: 'age'
      }
    ]
  };

لاحظ أنه يجب وضع السلسلة المضمنة (msg) بين علامات الاقتباس المحذوفة.لقد استخدمت العمر كمثال للمفتاح.نظرًا لأنها قيمة رقمية في هذا المثال، فلن تحتاج إلى علامات الاقتباس.

هنا أ الغطاس

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top