के साथ स्वतंत्र रूप से किसी सरणी के प्रत्येक ऑब्जेक्ट में संपत्ति जोड़ना मेरे पास एक ऑब्जेक्ट और पहले चरण पर बनाए गए कई गुणों के साथ एक मौजूदा सरणी है। यह निम्नलिखित समारोह द्वारा बनाई गई है:AngularJS angular.extend
$scope.recordlist = extractRecordJSONFromLocalStorage();
$scope.addRecord = function() {
$scope.recordlist.push(
{
date: $scope.dateJson,
time: $scope.time,
car: $scope.carList.code,
driver: $scope.driverList.name,
from: $scope.locationList.place,
destination: $scope.locationList2.place,
pax: $scope.paxList
}
);
$scope.custom = $scope.custom === false ? true: false;
$scope.carList = 0;
$scope.driverList = 0;
$scope.locationList = 0;
$scope.locationList2 = 0;
jsonToRecordLocalStorage($scope.recordlist);
};
यह निम्न सरणी में परिणाम:
[{
"date":"2014 10 16",
"time":"20.22",
"car":"396",
"driver":"Seb",
"from":"A",
"destination":"B",
"pax":"3"
}]
मुझे क्या करना कोशिश कर रहा हूँ के साथ अगले कदम पर मौजूदा वस्तु में एक और संपत्ति को जोड़ने के लिए है एनजी-क्लिक करें। मैंने निम्नलिखित फ़ंक्शन के साथ प्रयास किया है लेकिन यह काम नहीं कर रहा है।
$scope.insertRecord = function (recordlist) {
var arrival = { 'arrival' : moment().format("HH.mm") }
console.log(arrival)
angular.extend($scope.recordlist, arrival)
jsonToRecordLocalStorage($scope.recordlist);
}
अंतिम परिणाम के लिए मैं देख रहा हूँ निम्नलिखित है:
[{
"date":"2014 10 16",
"time":"20.22",
"car":"396",
"driver":"Seb",
"from":"A",
"destination":"B",
"pax":"3",
"arrival":"23.10"
}]
हो सकता है कि ध्यान में भी लेने के लिए एक और बात यह है कि अनुप्रयोग में यह कई अलग अलग वस्तुओं के होने की संभावना मौजूद है सूचीबद्ध किया जा रहा है , कुछ जिनमें arrival
संपत्ति पहले से परिभाषित है, लेकिन कुछ जो बाद में इसे बाद में रखेंगे।
कोई बात नहीं?
संपादित
2 समाधान मैंने काम किया गया है, लेकिन पूरा नहीं था कि मैं क्या देख रहा हूँ, तो शायद मैं मुझे क्या करना है कोशिश कर रहा हूँ पर स्पष्ट नहीं था।
मैं वस्तुओं के संग्रह को सरणी में सहेज रहा हूं, प्रत्येक ऑब्जेक्ट में arrival
है जो दूसरे चरण पर परिभाषित किया जाएगा।
तो सबसे पहले मैं इस तरह की वस्तुओं की एक सरणी बनाएँ:
[
{
"date":"2014 10 16",
"time":"20.42",
"car":"396",
"driver":"Seb",
"from":"A",
"destination":"B",
"pax":"3",
},
{
"date":"2014 10 16",
"time":"20.12",
"car":"319",
"driver":"Seb",
"from":"C",
"destination":"D",
"pax":"4",
},
{
"date":"2014 10 16",
"time":"20.22",
"car":"396",
"driver":"Seb",
"from":"G",
"destination":"A",
"pax":"1",
}
]
इस तालिका जैसी लेआउट में दृश्य पर प्रदर्शित होता है। प्रत्येक पंक्ति में किसी ऑब्जेक्ट से डेटा होता है, और प्रारंभ में संपत्ति arrival
शामिल नहीं होती है क्योंकि ऐप कार की गति को ट्रैक करता है और कार गंतव्य तक नहीं पहुंच पाई है।
प्रत्येक पंक्ति में insertRecord()
ट्रिगर करने वाला एक बटन भी होता है, जो आने वाले समय को परिभाषित करता है और इसे arrival
संपत्ति को स्वतंत्र रूप से प्रत्येक ऑब्जेक्ट में शामिल करना होता है।
तो, शायद दूसरी वस्तु से कार आ गया, और मैं केवल इस विशेष वस्तु के लिए arrival
प्रॉपर्टी जोड़ते हैं, इस तरह सरणी छोड़ने करने में सक्षम होना चाहता हूँ:
[
{
"date":"2014 10 16",
"time":"20.42",
"car":"396",
"driver":"Seb",
"from":"A",
"destination":"B",
"pax":"3"
},
{
"date":"2014 10 16",
"time":"20.12",
"car":"319",
"driver":"Seb",
"from":"C",
"destination":"D",
"pax":"4",
"arrival":"20.35"
},
{
"date":"2014 10 16",
"time":"20.22",
"car":"396",
"driver":"Seb",
"from":"G",
"destination":"A",
"pax":"1"
}
]
Dfsq से 2 प्रस्तावित समाधानों ने मुझे सरणी के पहले ऑब्जेक्ट, या सभी ऑब्जेक्ट्स के लिए एक बार में आगमन को परिभाषित करने की अनुमति दी, लेकिन प्रत्येक ऑब्जेक्ट के लिए अलग से नहीं।
<div class="row msf-row" ng-repeat="record in recordlist | filter: search">
<div class="col-md-1">{{record.time}}</div>
<div class="col-md-1"><strong>{{record.car}}</strong></div>
<div class="col-md-1">{{record.driver}}</div>
<div class="col-md-3">{{record.from}}</div>
<div class="col-md-3">{{record.destination}}</div>
<div class="col-md-1">{{record.pax}}</div>
<div class="col-md-1">
<button ng-click="insertRecord()" ng-show="!record.arrival"><i class="fa fa-cog"></i></button>{{record.arrival}}
</div>
</div>
इतना होने के नाते, पर किसी भी संकेत कैसे वहाँ पाने के:
यह एचटीएमएल कोड जहां insertData कहा जाता है?
"प्रत्येक पंक्ति भी) एक बटन insertRecord (ट्रिगर है" - तो क्यों आप उत्तीर्ण नहीं होते हैं उस पंक्ति से ऑब्जेक्ट 'insertRecord' तक? – zeroflagL
क्या आप इसे विस्तारित करने में विस्तारित कर सकते हैं? धन्यवाद!! –
आपको HTML के उस भाग को दिखाने की आवश्यकता होगी, वह हिस्सा जहां 'insertRecord' कहा जाता है। – zeroflagL