If I do this, it works.  Which would mean listing out each prop that I 
expect to test.  That sounds like work!
It's better than nothing, but not as good as it should be.  


ngOnInit() {
    this.offers.exp = {};
    this.getOffers();
}



On Monday, July 18, 2016 at 12:29:58 PM UTC-7, p. stephen w wrote:
>
> I wrote a pipe to handle this, but that seems like over kill.  Testing for 
> a key in an object is basic, but a critical operation.  
> Does NG2 really not allow do this, or am I just missing something?
>
>
>
> @Pipe({name: 'matchkey'})
> export class MatchkeyPipe implements PipeTransform {
>     transform(obj:any, keys:any[]):any {
>         try {
>             if (obj && keys) {
>               return keys.find(key => obj[key])
>             }
>         } catch (e) {
>             console.log('...objectkey error ', e);
>         }
>     }
> }
>
>
>
> On Monday, July 18, 2016 at 9:43:24 AM UTC-7, p. stephen w wrote:
>>
>> NgInit is currently calling my service to return the Json.  
>> Is it true that the template doesn't get parsed until 
>> controller/component has ran? 
>>
>> How can I use an elvis (LOL, love the name)?   I'm assuming that's a 
>> is-nullable operator? 
>>
>>
>>
>>
>>
>> On Sunday, July 17, 2016 at 7:53:53 PM UTC-7, Sander Elias wrote:
>>>
>>> Hi P. Stephen,
>>>
>>> Not entirely. The problem is that probably the myObj is undefined when 
>>> the component initializes. Have you tried setting it to an empty object 
>>> directly on your controller's constructor? 
>>> Usually when you need something like this, you can use the elvis(?) 
>>> operator to protect against undefined parts. This is not going to work for 
>>> array notation. 
>>> This does work for me:
>>>
>>> import { Component } from '@angular/core';
>>>
>>>
>>> @Component({
>>>   selector: 'my-app',
>>>   template: `<h1>My First Angular 2 App</h1>
>>>   {{myObj['test']}}
>>>   <pre>{{myObj|json}}</pre>  
>>>   `
>>> })
>>> export class AppComponent { 
>>>   myObj = {}
>>>   ngOnInit() {
>>>     this.myObj= {test : "hello"}
>>>   }
>>> }
>>>
>>>
>>> Hope this helps you a bit,
>>> Regards
>>> Sander
>>>
>>>

-- 
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 https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to