Monday 15 April 2013

javascript - Adding a service to a controller in angular -



javascript - Adding a service to a controller in angular -

i've tried build service returns formatted date, works when set in controller need in lot of places thought i'd build service. when seek inject service in controller gives me unknown provider issue..

unknown provider: dateprovider <- date <- displaydate

current code:

services.js

angular.module('starter.services', []) .factory('displaydate',['date','$filter', function(date, $filter) { var actiondate = new date(date); var today = new date(); if(today.getdate() == actiondate.getdate()){ var hourssince = today.gethours() - actiondate.gethours() var minutessince = today.getminutes() - actiondate.getminutes() var secondssince = today.getseconds() - actiondate.getseconds() if(hourssince > 0){ date = hourssince+'u'; }else if(minutessince > 0){ date = minutessince+'m'; }else{ date = secondssince+'s'; } }else{ var oneday = 24*60*60*1000; // hours*minutes*seconds*milliseconds var diffdays = math.round(math.abs((today.gettime() - actiondate.gettime())/(oneday))); if(diffdays > 28){ var identifier = actiondate.getmonth(); date = $filter('date')(actiondate,"d "+ maandarray[identifier] + " yy " + " hh:" + "mm"); }else{ date = diffdays+'d'; } } homecoming date; }]);

controller.js

angular.module('starter.controllers', ['google-maps'.ns(),'starter.services']) .controller('volgendctrl', function($scope, displaydate) { var date = displaydate(value[4]); })

app.js

var starter = angular.module('starter', ['ionic','starter.services', 'starter.controllers' ,'ngcordova']) starter.config(function($stateprovider, $urlrouterprovider,$httpprovider, $ionicconfigprovider) { $ionicconfigprovider.prefetchtemplates(true); $urlrouterprovider.otherwise('/tab/volgend'); $stateprovider // setup abstract state tabs directive .state('tab', { url: "/tab", abstract: true, templateurl: "templates/tabs.html" }) .state('tab.volgend', { url: '/volgend', views: { 'volgend': { templateurl: 'templates/volgend.html', controller: 'volgendctrl', } } }) // home states , nested views ======================================== }); starter.run(function($ionicplatform) { $ionicplatform.ready(function() { // hide accessory bar default (remove show accessory bar above keyboard // form inputs) if(window.cordova && window.cordova.plugins.keyboard) { cordova.plugins.keyboard.hidekeyboardaccessorybar(true); } ionic.platform.isfullscreen = true }); })

can explain me why it's not working expected?

if 'date', thing inject in displaydate in fact seek , phone call displaydate in controller, , not service, should not inject way do. should inject $filter , mill function homecoming function takes 'date' parameter , in function calculation.

angular.module('starter.services', []) .factory('displaydate',['$filter', function($filter) { homecoming function (date){ var actiondate = new date(date); var today = new date(); if(today.getdate() == actiondate.getdate()){ var hourssince = today.gethours() - actiondate.gethours() var minutessince = today.getminutes() - actiondate.getminutes() var secondssince = today.getseconds() - actiondate.getseconds() if(hourssince > 0){ date = hourssince+'u'; }else if(minutessince > 0){ date = minutessince+'m'; }else{ date = secondssince+'s'; } }else{ var oneday = 24*60*60*1000; // hours*minutes*seconds*milliseconds var diffdays = math.round(math.abs((today.gettime() - actiondate.gettime())/(oneday))); if(diffdays > 28){ var identifier = actiondate.getmonth(); date = $filter('date')(actiondate,"d "+ maandarray[identifier] + " yy " + " hh:" + "mm"); }else{ date = diffdays+'d'; } } homecoming date; } }]);

javascript angularjs service ionic-framework

No comments:

Post a Comment