tmp_name
всегда будет содержать полный путь.
/tmp/phpeklgfr
указывает на загруженный файл в корневом каталоге /tmp
. Он не находится в /var/www/sample/tmp
.
Вы можете изменить местоположение, где PHP хранит временные файлы, используя настройку upload_tmp_dir
php.ini.
Как правило, вы хотите иметь флаг «выполнено» или «проверено» на отдельных элементах дел, что-то вроде:
const todoList = [
{
name: 'Grab some food',
done: false
},
{
name: 'Start coding',
done: false
}
];
А в Vue.js вы можете сделать переключение класса с v-bind:class
, а не троичный оператор:
export default {
data() {
return {
//checked: false,
activeList: {
listItems: [
{
name: 'Grab some food',
done: false
},
{
name: 'Start coding',
done: false
}
]
}
}
},
methods: {
checkTaskDone(item) {
//if (this.checked == false) {
// this.checked = true;
//}
//else if (this.checked == true) {
// this.checked = false;
//}
// Check/uncheck
item.done = !item.done;
}
}
}
<f7-list-item
v-for="(listItem, index) in activeList.listItems"
:key="index"
:class="{ 'checked': listItem.done }">
{{ index + 1 }}. {{ listItem }}
<span @click="checkTaskDone(listItem)">
<i class="f7-icons" :id="`check-task-btn${index}`">check_round</i>
</span>
</f7-list-item>
Кстати, я добавляю индекс для отдельных элементов i.f7-icons
, потому что идентификатор должен быть уникальным, в противном случае, пожалуйста, используйте class
вместо.
Сначала вам нужно создать динамический проверенный массив в соответствии с длиной activeList.listItems
! Затем вы можете проверить с индексом и вы можете обновить данные массива по this.$set(array,index,value)
...
new Vue({
el: "#app",
data: {
checked: [],
activeList : {listItems:[1,2,3,5]}
},
created: function() {
for(var i = 0; i < this.activeList.listItems.length; i++) {
this.checked.push(false);
}
},
methods: {
checkTaskDone(item) {
if (this.checked[item] == false) {
this.$set(this.checked,item, true);
} else if (this.checked[item] == true) {
this.$set(this.checked,item, false);
}
}
}
});
.checked {
text-decoration: line-through;
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div v-for="(listItem, index) in activeList.listItems" :key="index" :class="{checked: checked[index]}">
{{ index+1 }}. {{ listItem }}
<span @click="checkTaskDone(index)">
<i class="f7-icons" id="check-task-btn">check_round</i>
</span>
</div>
</div>