在laravel刀片花括号

时间:2017-11-07 13:00:00

标签: javascript laravel blade laravel-blade laravel-5.5

我想在刀片{{ curly braces }}中连接javascript变量,如下所示:

目前:

ajax: "{{ route(api.colors) }},"

我想要的是什么:

var page='colors';
...
ajax: "{{ route(api."+page+") }},"

有可能吗?

3 个答案:

答案 0 :(得分:3)

您无法直接执行此操作,因为大括号在服务器上呈现,javascript在客户端运行。您可以在路线中放置占位符,然后在javascript代码中替换此部分。像这样:

// Imagine the `api.page` route value is `/controller/{page}`:
ajax: "{{ route(api.page) }}".replace("{page}", page);

答案 1 :(得分:0)

您可以尝试使用此代码,它对我有用。

function addToDo(){

  //Get input value of ToDo
  var getToDoValue = document.getElementById("toDoInput").value;
  var toDoTaks = document.getElementById("toDoTasks");
  
    //Create Element & set the value to userInput
    var createToDoElement = document.createElement("p");
    createToDoElement.classList.add("toDoElement");
    createToDoElement.innerHTML = getToDoValue;


  //Create Delete Button
    var deleteButton = document.createElement("button");
    deleteButton.addEventListener('click',deleteITem,false)
    deleteButton.innerHTML = "Delete";
    deleteButton.classList.add("deleteToDo");


    createToDoElement.appendChild(deleteButton);
    //Append to toDo
    toDoTaks.appendChild(createToDoElement);
    
  
  } 
  
 
  function deleteITem(event){
    event.path[1].remove()
  }   

答案 2 :(得分:0)

您可以使用 ziggy library

它有一个辅助函数 route(route_name),您可以轻松地用于此目的。