2012-09-21 9 views
25

मेरे पास निम्न आवश्यकता है: एक सूची को संपादित करने और लिंक हटाने के साथ सभी वस्तुओं के लिए प्रदर्शित किया जाना चाहिए। जब उपयोगकर्ता संपादन पर क्लिक करता है, तो फॉर्म को टेक्स्टबॉक्स और एक सेव बटन के साथ संपादित करना चाहिए। अब जब उपयोगकर्ता सहेजने वाले बटन पर डेटा और क्लिक संपादित करता है तो डेटा सहेजा जाना चाहिए और लिस्टिंग पृष्ठ को संशोधित डेटा के साथ फिर से दिखाना चाहिए। सबकुछ ठीक काम करता है लेकिन मैं कोणीय में रूटिंग के माध्यम से फिर से सूची पृष्ठ पर रीडायरेक्ट कैसे करूं?कोणीय में रूटिंग द्वारा रीडायरेक्ट

मार्ग नियंत्रक::

angular.module('productapp', []). 
    config(['$routeProvider', function($routeProvider) { 
    $routeProvider. 
     when('/productapp', {templateUrl: 'partials/productList.html', controller: productsCtrl}). 
     when('/productapp/:productId', {templateUrl: 'partials/edit.html', controller: editCtrl}). 
     otherwise({redirectTo: '/productapp'}); 
}]); 

संपादित प्रपत्र:

<div> 
    <form method="POST"> 
    <label>Add New Product:</label> 
     <input type="text" name="keywords" ng-model="product.name" placeholder="enter name..." value="{{product.name}}"> 
     <input type="text" name="desc" ng-model="product.description" placeholder="enter description..." value="{{product.description}}"> 
     <button type="submit" ng-click="save(product.product_id,$event)" >Save</button> 
    </form> 
</div> 

मैं कैसे एक ही सूची पृष्ठ पर रीडायरेक्ट करते नीचे कोड के कुछ है?

उत्तर

59

आपको अपने editCtrl नियंत्रक में $location सेवा इंजेक्ट करने की आवश्यकता है।

फिर, अपने सहेजने के फ़ंक्शन में रीडायरेक्ट करने के लिए निम्न जोड़ें (ध्यान दें कि पथ आपके मार्ग से मेल खाता है)।

$scope.save = function (...) { 
    // ... 
    $location.path('/productapp'); 
} 

This Youtube video भी आपकी मदद कर सकता है।

+0

मैंने कोशिश की लेकिन फिर पृष्ठ पुनः लोड हो गया। मैं नहीं चाहता कि पृष्ठ पुनः लोड हो जाए। विकल्प क्या है? – z22

+0

https://groups.google.com/d/topic/angular/eegk_lB6kVs/discussion देखें, जहां एक सेवा में डेटा को स्टोर करना है, और इसके चारों ओर एक रैपर है जैसे कि नियंत्रक को फिर से शुरू किया जाता है (जब आप पृष्ठ पर दूसरी बार वापस जाते हैं), रैपर तय करता है कि कैश किए गए डेटा को वापस करना है या अजाक्स अनुरोध करना है या नहीं। –