我在AngularJS中創建一個時間跟蹤應用程序,只是爲了學習框架。我試圖通過單擊「添加」按鈕來創建在單個視圖中添加多個定時器的功能。每個計時器顯然將包含用於計時功能的獨特屬性和獨特方法。我不知道如何設置服務來做這樣的事情。任何幫助將不勝感激。如何在AngularJS中創建多個功能實例?
0
A
回答
1
正如@Chandermani所提到的,你應該將你的計時器包裝在指令中。這應該讓你開始:
的Javascript
app.controller('MainCtrl', function($scope) {
$scope.timers = [];
})
.directive('timer', function() {
return {
restrict: 'E',
template: '<h1>{{counter}}s</h1>',
controller: function($scope, $timeout) {
$scope.counter = 0;
var callback = function() {
$scope.counter++;
$timeout(callback, 1000);
};
$timeout(callback, 1000);
}
};
});
HTML
<body ng-controller="MainCtrl">
<button ng-click="timers.push(1)">Add timer</button>
<timer ng-repeat="timer in timers"></timer>
</body>
Plunker here。
ng-repeat
指令將爲timers
數組中的每個項目呈現timer
指令的一個實例。在這個人爲的例子中,除了控制同時存在多少個定時器之外,該數組沒有任何目的。您可以使用它來存儲關於每個計時器的任何信息。
+0
謝謝@MichaelBenford--這確實讓我開始了! – Jbird
0
您可以創建一個管理定時器列表控制
var app = angular.module('myApp');
app.controller('TimerCtrl', function($scope) {
$scope.timers = [];
$scope.addTimer = function() {
$scope.timers.push(new TaskTimer());
};
/* additional remove/clear/whatever functions attach to $scope */
});
代碼示例:http://jsfiddle.net/bonza_labs/qvnNa/
「計時器」對象的代碼示例是你想自己寫一些東西,所以我我們只是用一種實際上沒有做任何事情的物體來扼殺它。正如所建議的那樣,指令是包裝定時器渲染的好方法。
相關問題
- 1. JavaScript的視差功能 - 如何創建多個實例
- 2. Gedit在Windows中創建多個實例
- 3. 在pygame中創建多個實例
- 4. 在emacs中創建多個eshell實例
- 5. 如何創建多個更改功能
- 6. 如何在單個levelDB實例中創建多個邏輯表?
- 7. 如何在Clojure中創建一個「對象」的多個實例?
- 8. 如何在C++中創建一個類的多個實例
- 9. NSTimer - 創建多個實例
- 10. jQuery - 創建多個實例
- 11. 創建Uibinder多個實例。
- 12. C++如何聲明一個類的實例在多個功能
- 13. 是否有可能在pyserial中創建serial.Serial()的多個實例?
- 14. 如何在運行中創建/實例化AngularJs控制器?
- 15. 如何在joomla 1.5中創建多個模塊實例?
- 16. 如何在Pygame中創建多個矩形實例?
- 17. 如何在雲中創建應用程序的多個實例
- 18. 如何在構建AngularJS控制器後創建實例?
- 19. Spring創建單例的多個實例?
- 20. 使用原型創建多個實例使用原型創建多個實例
- 21. 正在創建Spring多個bean實例
- 22. 在libgdx創建多個實例的Box2D
- 23. 如何在AngularJS中創建主要功能的庫
- 24. 如何在SpecFlow中爲多個相關需求創建功能
- 25. 如何在java中創建哪個實例無法創建?
- 26. AngularJs 2 - 創建服務的多個實例
- 27. 如何在Flash中「創建實例」?
- 28. 如何在AngularJS的服務中編寫多個Aync功能
- 29. 如何獲得發電機功能的多個實例
- 30. 如何防止href =#激活jQuery功能的多個實例
根據您提供的任何細節,您可以創建隔離範圍的角度指令以滿足您的要求。 – Chandermani
@Chandermani這就是我現在正在工作 - 謝謝。一旦我創建了指令,我將如何通過用戶交互來複制它?對不起,缺乏廣泛的細節。關於這個話題的細節畢竟是我的問題的癥結所在。有沒有問題的某個方面可以進一步解釋? – Jbird