2016-12-26 2 views
-2

У меня есть JSON, какПолучить один элемент JSON в объект JSON в угловом 2

labelnames={ 
    "one": "", 
    "two": "", 
    "three": "", 
    "four": "" 
}; 

Теперь у меня есть отдельное условие для каждого labelname. Итак, если я хочу отобразить labelname[0] i.e., «one» и использовать его, тогда как я должен следовать?

Я попытался с помощью труб и ngfor петли, но я получаю все значения в LabelNames

<li *ngFor="let doc of labelnames | keys"> 
{‌{doc.key}} 
</li> 

Мне просто нужен один элемент в зависимости от индекса.

Помогите мне в решении этого вопроса.

+0

Прежде всего отформатируйте свой код правильно, во-вторых, вы действительно хотите использовать эту трубку 'keys'? –

+1

Во-вторых, узнайте, что означает термин «JSON». То, что у вас есть, это не JSON - это объект JavaScript. Узнайте, как ссылаться на свойство объекта JavaScript, чтобы люди знали, что вы имеете в виду, - они не называются «элементами». Изучите разницу между «объектами» и «массивами» - 'labelname [0]' будет первым элементом в ** массиве **, называемым 'labelname', а не первым свойством в объекте. Мы не знаем, что вы подразумеваете под «отдельным условием для каждого« метки ». Условие для чего? –

+0

@torazaburo из того, что я понимаю, он хочет итерации ключей объекта, он (пытался) сделайте это вручную, указав все ключи и/или значения, но захотите итератировать с помощью '* ngFor'. По крайней мере, это то, что я понял и основал свой ответ. Возможно, я ошибаюсь: D – Alex

ответ

2

Вот решение:

Ваш объект:

obj= { "one": "", "two": "", "three": "", "four": "" }; 

метод в компоненте:

keys() { 
    return Object.keys(this.obj); 
} 

Ваш HTML:

<p *ngFor="let key of keys()">{{key}}</p> 

Это будет:

one 
two 
three 
four 

EDIT, и немного сахара на вершине ... если вам нужно отобразить все ключи и значения ключей, это будет путь:

obj2 = { "one": "1", "two": "2", "three": "3", "four": "4" }; 

И в представлении :

<p *ngFor="let key of keys()">{{key}}: {{obj2[key]}}</p> 

Это будет отображать:

one: 1 
two: 2 
three: 3 
four: 4 

EDIT2: Перечитывая ваши Ques Тион, у меня снова думать, может быть, я не понял, это то, что вам нужно:

objValue = Object.keys(obj)[0] // put which index you want 

, которые будут выводить

one 

Ну, теперь я думаю, что у меня есть все основания покрыты в этом ответе! : D Подробнее о Object.keys здесь: Object.keys

+0

Спасибо, это сработало для меня – user410946

+0

Отлично !, рад помочь!Поскольку он решил ваш вопрос, пожалуйста, подумайте о принятии ответа! Больше информации здесь: http://meta.stackexchange.com/a/5235 спасибо! :) – Alex

Смежные вопросы