У меня есть сервис «MyService», который содержит следующее:Угловая служба удаления?
this.myobj = {'dog': 'bark', 'cat': 'meow'}
Я впрыснуть эту услугу в директиву. Внутри функции директивы связи у меня есть $ объем $ уничтожить, что делает следующее:.
console.log(MyService.myobj);
delete MyService.myobj.dog;
console.log(MyService.myobj);
console.log вывод выглядит после удаления все еще отображается как:
{'dog': 'bark', 'cat': 'meow'}
Даже если я называется удалением по ключу «собака». Что происходит? Есть ли более правильный способ удаления ключа?
Как раз в лучших практиках, я считаю, что это более подходит для углового. Вы хотите сохранить довольно высокий уровень абстракции. Служба должна действовать сама по себе своими собственными методами, которые затем могут быть вызваны всеми, кто в них нуждается. Похоже на это на аналогичной должности, если это может быть полезно: http://perfectionkills.com/understanding-delete/ – tpie
Проблема с этим я не хочу delKey в myObj, поскольку myObj является частью оказание услуг. В идеале, если бы существовал MyService.delKeyFromMyObj («собака»), который мог бы сделать то же самое, это было бы более желательно. – Rolando
проверить plnkr – tpie