我想在刀片{{ curly braces }}
中连接javascript变量,如下所示:
目前:
ajax: "{{ route(api.colors) }},"
我想要的是什么:
var page='colors';
...
ajax: "{{ route(api."+page+") }},"
有可能吗?
答案 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)
,您可以轻松地用于此目的。