2013-08-09 12 views
15

हाय मेरे पास ng-repeat-start और end के लिए एक साधारण उपयोग केस है और यह ठीक काम कर रहा है, समस्या तब प्रकट होती है जब मैं जोड़ना चाहता हूं एक आंतरिक एनजी-दोहराना। यहाँ मेरी कोडangularjs: ng-repeat-start और ng-repeat-end आंतरिक ng-repeat

<tr ng-repeat-start="obj in rows" > 
    <td ng-repeat="e in obj.row">{{e}}</td> 
</tr> 
<tr ng-repeat-end> 
    <td colspan="4">{{obj.description}}</td> 
<tr> 

टीडी तत्व में भीतरी एनजी-दोहराने काम नहीं कर रहा है जब मैं HTML स्रोत कोड का निरीक्षण किया, मैं ngRepeat टिप्पणी दिखाई दे रही है है, लेकिन टीडी तत्वों का निर्माण नहीं किया जा रहा है।

<!-- ngRepeat: e in obj.row --> 

मेरे बदसूरत वैकल्पिक हल (यह देखते हुए कि मुझे लगता है कि वेक्टर के आकार का पता) है:

<tr ng-repeat-start="obj in rows" > 
    <td>{{obj.row[0]}}</td> 
    <td>{{obj.row[1]}}</td> 
    <td>{{obj.row[2]}}</td> 
    <td>{{obj.row[3]}}</td> 
</tr> 
<tr ng-repeat-end> 
    <td colspan="4">{{obj.description}}</td> 
<tr> 
+0

देखें कि यह क्योंकि टेम्पलेट अमान्य HTML है है? मुझे लगता है कि '' टैग वास्तव में '' –

उत्तर

17

मुझे यकीन नहीं है कि आप कोणीय 1.1.6 का उपयोग कर रहे हैं या ng-repeat-start और ng-repeat-end के बाद से 1.1.5 या 1.0.7 में उपलब्ध नहीं हैं।

हालांकि, आपको वास्तव में इसे प्राप्त करने के लिए नए निर्देशों का उपयोग नहीं करना है। आप बस अभी के लिए इस तरह इसे लागू कर सकते हैं:

<table> 
    <tbody ng-repeat="obj in rows"> 
     <tr ng-repeat="e in obj.row"> 
      <td>{{e}}</td> 
     </tr> 
     <tr> 
      <td colspan="4">{{obj.description}}</td> 
     <tr> 
    </tbody> 
</table> 

आप ng-repeat-start और ng-repeat-end उपयोग कर सकते हैं यह reimplement जब AngularJS 1.1.6 संस्करण आधिकारिक तौर पर जारी की है।

Demo

+0

का उपयोग करता हूं हां, मैं संस्करण 1.1.6 का उपयोग कर रहा हूं। मुझे आपके समाधान पसंद हैं मैंने इसे पहले कोशिश की और यह काम किया। जो मुझे पसंद नहीं है वह कई तत्व तत्व हैं, क्योंकि मैं इस नई सुविधा का प्रयास करता हूं। आपके उत्तर के लिए धन्यवाद! – Jime

+0

@ जेम आपको केवल एक 'टीबी' की आवश्यकता है। डेमो बटन के लिए – zsong

+0

+1। महान सामान :) –

1

आप बायपास करने के लिए है कि सूचकांक आधारित पुनरावृत्तियों उपयोग करने के लिए सक्षम होना चाहिए:

<tr ng-repeat-start="obj in rows" > 
    <td ng-repeat="e in obj.row">{{obj.row[$index]}}</td> 
</tr> 
<tr ng-repeat-end> 
<!-- ... --> 
+0

समस्या है कि एनजी-दोहराना निर्देश हल नहीं किया जा रहा है, या तो मैं इंडेक्स आधारित पुनरावृत्ति या ई ऑब्जेक्ट – Jime

1

मैं इसे कुछ अपने डेटा संरचना के साथ गलत हो सकता है लगता है। का उपयोग करते हुए कोणीय 1.2.1 यह मेरे लिए काम करता है

<div ng-app="myApp" ng-controller="myCtrl"> 
    <div class="h" ng-repeat-start="val in data">{{val.title}}</div> 
    <div ng-repeat="con in val.content"> 
     {{con}} 
    </div> 
    <div class="b" ng-repeat-end>footer</div> 
</div> 

jsFiddle

संबंधित मुद्दे