2017-01-23 10 views
0

У меня есть объект JSONПочему вложенные фигурные скобки в угловых не работают? Что такое альтернативное решение?

"blog1":{ 
"blogid":"1", 
"body":"sometext" 
    "IMG":"URL of image" 
    } 

Я пытаюсь получить доступ к этому ОБЪЕКТОВ IMG элемент для установки в качестве фона IMG для div используя нг-стиль, как показано ниже

<Div ng-controller="controller as ctrl"> 
     <div ng-style="background-image:URL('{{ctrl.object.blog{{ctrl.blogId}}.IMG}}');" > 

Мой контроллер выглядит (грубая)

App.controller('controller', function(){ 
this.object= $firebaseObject(); 

this.blogId= $routeParams.blogId; 

}); 

Обратите внимание, что div с нг-стиле, содержит вложенную угловое выражение, и они не ева luate. Есть ли другое решение для достижения этого.

Примечание: это одностраничное приложение, поэтому в соответствии с идентификатором блога в URL-адресе я хочу отображать изображение. Я использую угловую маршрутизацию для SPA.

+0

Вы не должны использовать фигурные скобки, вы используете []. {{object.blog [blogId] .IMG}} – yBrodsky

+0

Мне не нужно упоминать ctrl. ?? – user7459550

+0

Я не знаю, как вы определили свой контроллер в представлении. ng-controller = "ctrl"? – yBrodsky

ответ

1

Чтобы использовать переменную в качестве индекса вы, как следовать

Контроллер:

$scope.myVar = 'something'; 
$scope.myObj = {something: {img: 'something else'}}; 

Вид:

{{myObj[myVar].img}} 

В вашем случае:

{{ctrl.object.blog[ctrl.blogId].IMG}} 
+0

Это не сработало! :( –

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

  • Нет связанных вопросов^_^