私はangularjsが初めてです。までのカウントダウンを示すディレクティブがありますendDate
。ハードコードされた値ですべてが正常に機能します。
var endDate = new Date("2013-11-26T10:00:00Z");
しかし、ディレクティブには2つのユースケースがあるため、コントローラーまたはレンダリングされたテンプレートからディレクティブに値を動的に渡す方法を管理できません。
CountDownDirective.js:
app.directive("countdown", ["$window", function($window) {
return {
restrict: "EA",
replace: true,
link: function(scope, element, attrs, controller) {
function countdown(){
var endDate = new Date("2013-11-26T10:00:00Z"); //hardcode
//some logic...
}
countdown();
}
}
}]);
SomeController.js:
app.controller("SomeController", ["$scope", '$rootScope', "APIService",
function($scope, $rootScope, APIService){
APIService.get('end_data').then(function(response){
$scope.end_data = response;
// response is "2013-11-26T10:00:00Z"
});
//some logic...
}
]);
template_one.html:
<div ng-controller="SomeController">
<div countdown>...</div>
</div>
template_two.html:
<div countdown end-date="2013-11-26T10:00:00Z">...</div>
助けてくれてありがとう。