And that is my problem. $scope is going out of scope when I move to child state. So, instead of trying to work around it how can I make it available everywhere?
On Wednesday, September 24, 2014, Eric Eslinger <[email protected]> wrote: > yeah. That's because child scopes use prototype inheritance to reference > parent scope data. > > e > > On Wed, Sep 24, 2014 at 2:01 PM, mark goldin <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: > >> Not sure I understand, So, instead of ng-model="eventDateFrom" I should >> say ng-model="data.eventDateFrom"? >> >> On Wed, Sep 24, 2014 at 3:40 PM, Eric Eslinger <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >> >>> Also, try putting a dot in your model. As in, instead of looking at >>> $scope.value, do $scope.view.value >>> >>> Angular in the past at least, had issues with watching primitive types >>> on the scope. >>> >>> https://egghead.io/lessons/angularjs-the-dot >>> >>> On Wed, Sep 24, 2014 at 1:36 PM, Mark Volkmann < >>> [email protected] >>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >>> >>>> Add a console.log inside the callback function for the watch to verify >>>> whether that is getting triggered. It seems like the ng-model isn't getting >>>> configured correctly. >>>> >>>> If that doesn't help, I suggest creating a plunk that demonstrates the >>>> problem. >>>> >>>> On Wed, Sep 24, 2014 at 3:33 PM, mark goldin <[email protected] >>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >>>> >>>>> Nope, does not look like it works. With my version it gets into >>>>> localData.add >>>>> when a view is loading. But with yours is not getting there at all. >>>>> >>>>> On Wed, Sep 24, 2014 at 3:16 PM, Mark Volkmann < >>>>> [email protected] >>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >>>>> >>>>>> Do you have an input in your HTML with ng-model="eventDateFrom"? >>>>>> When you change the value of the input by typing a new value in the >>>>>> browser, does the watch get triggered? >>>>>> Oh, I think I see the problem. You need to pass a function to $watch >>>>>> like this: >>>>>> >>>>>> $scope.$watch('eventDateFrom', function (value) { >>>>>> localData.add('eventDateFrom', value); >>>>>> }); >>>>>> >>>>>> On Wed, Sep 24, 2014 at 3:02 PM, mark goldin <[email protected] >>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >>>>>> >>>>>>> $scope.eventDateFrom = getFormattedDate(date); >>>>>>> localData.add("eventDateFrom", $scope.eventDateFrom); // Will >>>>>>> properly store key and value. >>>>>>> >>>>>>> $scope.$watch("eventDateFrom", localData.add("eventDateFrom", >>>>>>> $scope.eventDateFrom)); // will not trigger localData.add >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Sep 24, 2014 at 2:58 PM, Mark Volkmann < >>>>>>> [email protected] >>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >>>>>>> >>>>>>>> Show me your call to $scope.$watch. >>>>>>>> >>>>>>>> On Wed, Sep 24, 2014 at 2:54 PM, mark goldin <[email protected] >>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >>>>>>>> >>>>>>>>> That is exactly what I am doing, but "equivalent of >>>>>>>>> setFavoriteNumber " is not getting called. >>>>>>>>> >>>>>>>>> On Wed, Sep 24, 2014 at 2:51 PM, Mark Volkmann < >>>>>>>>> [email protected] >>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> No. Set up the watch in your controller where you have access to >>>>>>>>>> $scope. Inject the service into that controller so you can call your >>>>>>>>>> equivalent of setFavoriteNumber in the watch callback function. >>>>>>>>>> >>>>>>>>>> On Wed, Sep 24, 2014 at 11:50 AM, mark goldin < >>>>>>>>>> [email protected] >>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >>>>>>>>>> >>>>>>>>>>> Where would I watch? Right in myDataSvc? >>>>>>>>>>> >>>>>>>>>>> On Wed, Sep 24, 2014 at 11:47 AM, Mark Volkmann < >>>>>>>>>>> [email protected] >>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> You could watch the scope property for changes and then pass >>>>>>>>>>>> the new value to the setFavoriteNumber method of the service. >>>>>>>>>>>> Something >>>>>>>>>>>> like this: >>>>>>>>>>>> >>>>>>>>>>>> $scope.$watch('myScopeProp', myDataSvc.setFavoriteNumber); >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Sep 24, 2014 at 11:43 AM, mark goldin < >>>>>>>>>>>> [email protected] >>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> And that is what I kind of have. But my problem is that UI is >>>>>>>>>>>>> bound to $scope. When I select a new vlaue that value is not >>>>>>>>>>>>> getting into >>>>>>>>>>>>> myDataSvc. >>>>>>>>>>>>> >>>>>>>>>>>>> On Wed, Sep 24, 2014 at 11:41 AM, Mark Volkmann < >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> One way to do that is to put the data in a service and inject >>>>>>>>>>>>>> that service everywhere you need it. For example, >>>>>>>>>>>>>> >>>>>>>>>>>>>> myModule.factory('myDataSvc', function () { >>>>>>>>>>>>>> var svc = {}; >>>>>>>>>>>>>> var favoriteNumber; >>>>>>>>>>>>>> >>>>>>>>>>>>>> svc.setFavoriteNumber = function (n) { favoriteNumber = n; >>>>>>>>>>>>>> }; >>>>>>>>>>>>>> svc.getFavoriteNumber = function () { return >>>>>>>>>>>>>> favoriteNumber; }; >>>>>>>>>>>>>> >>>>>>>>>>>>>> return svc; >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wed, Sep 24, 2014 at 11:35 AM, mark goldin < >>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> I have UI that is bound to some $scope values. When I go >>>>>>>>>>>>>>> deeper into my application I need to use values entered in UI. >>>>>>>>>>>>>>> At some >>>>>>>>>>>>>>> point data that was put on $scope by UI is not available. How >>>>>>>>>>>>>>> can I share >>>>>>>>>>>>>>> data collected from UI across the app? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>>>> Google Groups "AngularJS" group. >>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails >>>>>>>>>>>>>>> from it, send an email to >>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>>>>>>>>>> . >>>>>>>>>>>>>>> To post to this group, send email to >>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>>>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> R. Mark Volkmann >>>>>>>>>>>>>> Object Computing, Inc. >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> You received this message because you are subscribed to a >>>>>>>>>>>>>> topic in the Google Groups "AngularJS" group. >>>>>>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>>>>>> https://groups.google.com/d/topic/angular/dkXHM4dufvw/unsubscribe >>>>>>>>>>>>>> . >>>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an >>>>>>>>>>>>>> email to [email protected] >>>>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>>>>>>>>> . >>>>>>>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>> Google Groups "AngularJS" group. >>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>> it, send an email to [email protected] >>>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>>>>>>>> . >>>>>>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> R. Mark Volkmann >>>>>>>>>>>> Object Computing, Inc. >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> You received this message because you are subscribed to a topic >>>>>>>>>>>> in the Google Groups "AngularJS" group. >>>>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>>>> https://groups.google.com/d/topic/angular/dkXHM4dufvw/unsubscribe >>>>>>>>>>>> . >>>>>>>>>>>> To unsubscribe from this group and all its topics, send an >>>>>>>>>>>> email to [email protected] >>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>>>>>>> . >>>>>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "AngularJS" group. >>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>> it, send an email to [email protected] >>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>>>>>> . >>>>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> R. Mark Volkmann >>>>>>>>>> Object Computing, Inc. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to a topic >>>>>>>>>> in the Google Groups "AngularJS" group. >>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>> https://groups.google.com/d/topic/angular/dkXHM4dufvw/unsubscribe >>>>>>>>>> . >>>>>>>>>> To unsubscribe from this group and all its topics, send an email >>>>>>>>>> to [email protected] >>>>>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>>>>> . >>>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "AngularJS" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected] >>>>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>>>> . >>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> R. Mark Volkmann >>>>>>>> Object Computing, Inc. >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>> the Google Groups "AngularJS" group. >>>>>>>> To unsubscribe from this topic, visit >>>>>>>> https://groups.google.com/d/topic/angular/dkXHM4dufvw/unsubscribe. >>>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>>> [email protected] >>>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>>> . >>>>>>>> To post to this group, send email to [email protected] >>>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "AngularJS" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected] >>>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>>> . >>>>>>> To post to this group, send email to [email protected] >>>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> R. Mark Volkmann >>>>>> Object Computing, Inc. >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to a topic in >>>>>> the Google Groups "AngularJS" group. >>>>>> To unsubscribe from this topic, visit >>>>>> https://groups.google.com/d/topic/angular/dkXHM4dufvw/unsubscribe. >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> [email protected] >>>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>>> . >>>>>> To post to this group, send email to [email protected] >>>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>>> Visit this group at http://groups.google.com/group/angular. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "AngularJS" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected] >>>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>>> . >>>>> To post to this group, send email to [email protected] >>>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>>> Visit this group at http://groups.google.com/group/angular. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>>> >>>> -- >>>> R. Mark Volkmann >>>> Object Computing, Inc. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "AngularJS" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected] >>>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>>> . >>>> To post to this group, send email to [email protected] >>>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>>> Visit this group at http://groups.google.com/group/angular. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "AngularJS" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/angular/dkXHM4dufvw/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected] >>> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');> >>> . >>> To post to this group, send email to [email protected] >>> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >>> Visit this group at http://groups.google.com/group/angular. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "AngularJS" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] >> <javascript:_e(%7B%7D,'cvml','angular%[email protected]');>. >> To post to this group, send email to [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>. >> Visit this group at http://groups.google.com/group/angular. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to a topic in the > Google Groups "AngularJS" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/angular/dkXHM4dufvw/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected] > <javascript:_e(%7B%7D,'cvml','angular%[email protected]');>. > To post to this group, send email to [email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>. > Visit this group at http://groups.google.com/group/angular. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.
