2013-07-24 5 views
0

Я использую ng-view для рендеринга динамических данных на своей странице. При загрузке страницы, если я использую статический HTML я получаю это (сверху):AngularJS view rendering issue

enter image description here

Когда Угловое загружает страницы данные есть, но это как элемент остается пустым (снизу).

Если я сделаю хоть малейшую настройку в инструментах Chrome dev, элементы защелкнутся на месте, но я не могу заставить их заполнить, не используя CSS, чтобы сделать их статическими размерами, что не работает, потому что текст разных размеров. В рассматриваемых элементах есть CSS встроенного блока.

Как вы можете видеть на скриншоте, я попробовал два способа заполнения данных, и с тем же результатом:

<div class="cd-rating" ng-class="caseData.scoreClass"> 
    <span class="score" ng-bind="caseData.adjustedScore | number:0" ng-cloak>N/A</span> 
    <span class="verdict">{{caseData.recommendation}}</span> 
</div> 

Вот что HTML выглядит в браузере:

<div class="cd-rating medium" ng-class="caseData.scoreClass"> 
    <span class="score ng-binding" ng-bind="caseData.adjustedScore | number:0">349</span> 
    <span class="verdict ng-binding">review</span> 
</div> 

Если я жестко программирую этот HTML тождественно, то он отлично отображается. Только когда Angularjs делает это, элементы стираются, появляются, если нет содержимого.

Я также хотел бы добавить, что я использую RequireJS и вручную загружаю приложение вместо того, чтобы использовать директиву ng-app, в случае, если это имеет значение.

Любые идеи о том, как сделать вид, заполнить элементы?

EDIT: Вот видео, которое демонстрирует поведение: http://youtu.be/zTwv-o6mWRM

+2

Было бы проще решить это, если бы вы интегрировали свой код в свой вопрос, а не ссылались на его изображение. На SO есть форматирование кода - используйте символы, чтобы скопировать код 'like so', или отступом код с 4 пробелами. Кроме того, он делает ваш вопрос самодостаточным, поэтому, если размещаемое изображение не работает, вопросы и ответы по-прежнему актуальны. – Wingman4l7

+0

Да, определенно добавьте код, образец на [jsfiddle] (http://jsfiddle.net/) или [plunker] (http://plnkr.co/) будет еще лучше. На скриншоте мне кажется, что на самом деле есть лишний пустой элемент, который выталкивает ваш отображаемый элемент, а не пропущенные элементы. Я что-то упускаю? –

+0

К сожалению, из-за сложности приложения и API-интерфейса, которые мы используем, доступ к которым невозможен публично, jsfiddle на самом деле не вариант. Проблема в том, что элементы выглядят пустыми, как будто нет содержимого.Это точный элемент, просто страница кажется, что она пуста. Жаль тратить свое время. –

ответ

0

Я не могу понять, что именно вы подразумеваете под «..data все еще существует, но элемент пуст ..» - только проблема, которую я обнаружил при рендеринге AngularJS, заключается в том, что «Обзор» (кнопка?) перезаписывается номером.

Посмотрите на свой код (который, как предлагает @ Wingman4l7, должен быть размещен в вопросе, а не как изображение), я вижу, что вы используете привязки для динамического определения класса. Вместо этого вы можете использовать директиву ng-class и посмотреть, разрешает ли она проблему?

То есть, заменить:

<div class="cd-rating {{caseData.scoreClass}}"> 

с

<div class="cd-rating" ng-class="caseData.scoreClass"> 

вместо и проверить, если вопрос получает решен?

+0

Я пробовал это и обновил код выше. Все еще не сработало. Также опубликовано видео о проблеме. Спасибо за ваше время. –