2015-08-12 4 views
-1

Мы используем структуру Laravel в сочетании с Vue.js для backoffice. Для filemanagement мы создали плитки с предварительным просмотром и некоторой информацией мы получаем с помощью ИПНА вызова:Переменная лезвия Laravel не отображается в атрибуте inline-style в IE

<div class="image-tile"> 
    <div class="preview" v-style="background-image: url('@{{tent.files[fileId].path + '/thumb/' + tent.files[fileId].name }}')"> 
</div> 
<div class="info"> 
    @{{tent.files[fileId].name}}<br/> 
    @{{tent.files[fileId].width}} x @{{tent.files[fileId].height}}<br/> 
    @{{(tent.files[fileId].size/1024).toFixed(2)}}KB 
</div> 

Хотя информация прекрасно вынесенная URL не является:

style="background-image: url('{{file.path + '/thumb/' + file.name }}');" 

Это должно быть результат (например, в хром и ff)

background-image: url('/uploads/flyfish/thumb/example.jpg'); 

Это поведение по умолчанию в Internet Explorer?

+2

уверен, что эта проблема от 'vuejs' не laravel, вы должны добавить vuejs в свои теги – Digitlimit

+0

Не могли бы вы уточнить? Вы говорите, что фоновое изображение выше - это именно то, что вы находите в DOM после того, как Vue делает это? И это происходит только в IE или это происходит во всех браузерах? –

+0

@ DavidK.Hess, это действительно то, что я нахожу в DOM после того, как Vue делает это. Все остальные значения отображаются отлично. Это случилось с клиентом, который использует IE8 и со мной, используя IE11. Друг, который использует IE10, сказал, что он не сталкивался с проблемой. На chrome on ff проблем не было, хотя мне нужно администрировать, я не могу тестировать обратную совместимость во всех браузерах, но хром и ff-пользователи в основном обновлены, я полагаю. – bflydesign

ответ

1

Видимо IE вызывает проблемы со стилем шаблонного атрибуты - см этот вопрос решенный:

https://github.com/yyx990803/vue/issues/651

Рекомендуется использовать v-style вместо:

http://vuejs.org/api/directives.html#v-style

Что-то вроде этого:

<div class="image-tile"> 
    <div class="preview" v-style="background-image: 'url(' + tent.files[fileId].path + '/thumb/' + tent.files[fileId].name + ')'> 
</div> 
<div class="info"> 
    @{{tent.files[fileId].name}}<br/> 
    @{{tent.files[fileId].width}} x @{{tent.files[fileId].height}}<br/> 
    @{{(tent.files[fileId].size/1024).toFixed(2)}}KB 
</div> 
+0

Я пробовал ваш пример, а также другие комбо, но теперь в моем div нет атрибута стиля. – bflydesign

+0

Можете ли вы воспроизвести это в скрипке? –

+0

Слишком сложно воспроизвести пока. Я вижу, что я могу сделать завтра, чтобы упростить – bflydesign