Javascript 是否可以使用blade将参数传递给tinymce.init函数?
我想将基于数据库数据的默认内容添加到tinymce编辑器: 控制器:Javascript 是否可以使用blade将参数传递给tinymce.init函数?,javascript,php,laravel,tinymce,blade,Javascript,Php,Laravel,Tinymce,Blade,我想将基于数据库数据的默认内容添加到tinymce编辑器: 控制器: @if(isset($page_content)) @forelse ($page_content['getMediaItems'] as $index => $item) @include('scripts.tinymce.tinymce-multiple-init',compact('index')) @empty {{'Woops..'}} @endforel
@if(isset($page_content))
@forelse ($page_content['getMediaItems'] as $index => $item)
@include('scripts.tinymce.tinymce-multiple-init',compact('index'))
@empty
{{'Woops..'}}
@endforelse
@else
@include('scripts.tinymce.tinymce-single-init')
@endif
因此,当存在多个mediaitems时,我希望将默认文本添加到编辑器中
现在,我希望在include页面的init函数中包含迭代(索引):
tinymce.init({
setup:function(ed) {
//Stuff here
},
selector: '.js-editable-media',
menubar:false,
inline: true,
plugins: "textcolor colorpicker",
toolbar: [
'undo redo forecolor'
],
my_custom_variable: {!! $index !!}
});
现在{!!$index!!}只返回0而不是迭代数。但当我将索引参数放在函数外时,它返回的是正确的数字:
console.log({!! $index!!}); //showing correct iteration
tinymce.init({
.....
console.log({!! $index!!}); //showing only 0
});
请帮助
$index
是一个键,这就是为什么它在第一次迭代中是0
。如果要传递值,应传递$item
:
@include('scripts.tinymce.tinymce-multiple-init', compact('item'))
然后:
my_custom_variable: {!! $item !!}
此外,在JS中硬编码PHP也是一种不好的做法。考虑其他方法来传递数据。
<代码> $ index <代码>是一个键,这就是为什么在第一次迭代中它是<代码> 0 <代码>的原因。如果要传递值,应传递
$item
:
@include('scripts.tinymce.tinymce-multiple-init', compact('item'))
然后:
my_custom_variable: {!! $item !!}
此外,在JS中硬编码PHP也是一种不好的做法。实际上,我希望每个项目的迭代密钥不是项目,现在它只返回0,但是当我控制台。log({!$index!})在TyMyCE.InIT函数的外部,它返回正确的数字:控制台。log({!$index!});//显示正确的数字tinymce.init({….});对不起,我不明白你当时想达到什么目的。请试着解释你想要得到什么,什么数字,在哪里得到这些。更新了我的问题,希望你现在能更好地理解它也许问题是你试图多次初始化tinymce,但它只初始化一次?如果是这种情况,您需要添加默认内容。我希望根据与forelse一起发送的对象添加默认内容。即使我将'index'更改为'item'时,它仍然返回4倍相同的内容实际上我希望每个项的迭代键不是该项,现在它只返回0,但是当我在tinymce.init函数之外运行console.log({!!$index!!})时,它返回的是正确的数字:console.log({!!$index!!})//显示正确的数字tinymce.init({….});对不起,我不明白你当时想达到什么目的。请试着解释你想要得到什么,什么数字,在哪里得到这些。更新了我的问题,希望你现在能更好地理解它也许问题是你试图多次初始化tinymce,但它只初始化一次?如果是这种情况,您需要添加默认内容。我希望根据与forelse一起发送的对象添加默认内容。即使我将“index”改为“item”,它仍然返回相同内容的4倍