Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以使用blade将参数传递给tinymce.init函数?_Javascript_Php_Laravel_Tinymce_Blade - Fatal编程技术网

Javascript 是否可以使用blade将参数传递给tinymce.init函数?

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

我想将基于数据库数据的默认内容添加到tinymce编辑器:

控制器:

@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倍