最近我一直在與Angular交手,並試圖讓我的腦袋圍繞它構建的概念。到目前爲止,所有的一切都有點神祕,但我到了那裏!角度分離問題,何時使用服務和/或工廠?
無論如何,所以我使用Angular構建了我的網站的一小部分(它似乎適合用例,因爲我需要在瀏覽器上操作JavaScript對象)。
作爲這個過程的一部分,我需要添加一個對象到我的模型(點擊一個元素)。我花了一段時間才弄清楚如何做到這一點,但最終我得到了它的工作。
現在我結束了下面的代碼:
var stpApp = angular.module('stpApp', []);
stpApp.controller('multiStopController', function ($scope, $compile, $http) {
$scope.inboundJourney = [{
'DepartureAirport': '',
'DestinationAirport': '',
'DepartureDate': '',
'DepartureTime': 9,
'Class': 'Class'
}];
$scope.addInboundJourney = function() {
$scope.inboundJourney.push({
'DepartureAirport': '',
'DestinationAirport': '',
'DepartureDate': '',
'DepartureTime': 9,
'Class': ''
});
}
});
和一些標記:
<li ng-repeat="journey in inboundJourney">
<input type="text" class="AirportName" ng-model="journey.DepartureAirport" />
</li>
<p class="addMultiStop"><span title="Add a journey" ng-click="addInboundJourney()">+</span>
</p>
做一點更多的閱讀我看到越來越推出services
和factories
的概念。那麼我的addInboundJourney
函數應該在服務還是工廠中,還是在控制器中可以正常工作?
如果在控制器中可以使用,建議何時使用服務和/或工廠?
服務和工廠幾乎是一樣的,默認情況下是「單身人士」。如果您想將某些東西暴露給多個控制器,則使用服務/工廠。 – mpm