2016-07-27 3 views
0

Здравствуйте, я очень новичок в интерфейсной разработке, и я использую Chart.js и Angular-Charts. У меня в настоящее время проблема, в которой метки X-оси слишком длинны, но в объекте JSON я возвращаюсь. У меня есть свойство для коротких или длинных имен ... Что я пытаюсь выяснить, есть ли способ выполнить тройная операция на основе длины строки и принять решение, на котором свойство использовать:Использовать тройной вариант с Chart.js и AngularJs

HTML:

<canvas canvas id="base" class="chart-horizontal-bar" height="400px" 
       chart-labels="profile['detail']['freq-graph']['long-labels']" 
       chart-data="[profile['detail']['freq-graph'].data]" 
       chart-colours="['#008080']" 
       chart-legend="false"/> 

Я полагал, что я мог бы сделать что-то вроде этого:

chart-labels="profile['detail']['freq-graph']['long-labels'].length<20 ?profile['detail']['freq-graph']['short-labels':profile['detail']['freq-graph']['long-labels']]" 
+0

Вы не можете поместить переменные в атрибуты html таким образом. вам нужен объект с параметрами и использовать его в соответствии с http://www.chartjs.org/docs/ –

+0

мои метки - это массив – user2402107

+0

, сработал ли он так? –

ответ

0

Вы имеют отсутствующую скобку.

chart-labels="profile['detail']['freq-graph']['long-labels'].length < 20 ? profile['detail']['freq-graph']['short-labels'] : profile['detail']['freq-graph']['long-labels']" 
//                              ^^^ 
+0

Невозможно прочитать длину свойства неопределенного – user2402107

+0

, пожалуйста, добавьте переменную ' профиль' на ваш вопрос. –

+0

- объект массивов – user2402107

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