Недавно я столкнулся с этой проблемой. Если pthread_create () не удалось, я закончил с неопределенным недопустимым значением, хранящимся в моей структуре phtread_t. В результате я сохраняю boolean, связанный с каждым потоком, который получает значение true, если pthread_create () преуспел.
Тогда мне нужно сделать следующее:
void* status;
if (my_thread_running) {
pthread_join(thread, &status);
my_thread_running = false;
}
Вы должны использовать указатель this
для доступа к модели:
<template>
<input v-model="inputName" class="name"></input>
</template>
<script>
export default {
data() {
return {
inputName: '',
}
},
methods: {
applyName() {
// Notice the use of this pointer
let nameData = { name: this.inputName };
}
}
}
</script>
Посмотрите на документ https://vuejs.org/v2/guide/forms.html#v-model-with-Components
В шаблоне вы ссылаетесь на имя для данных, вычисляемых или методов. В данном случае это относится к данным. Когда вход меняет имя, данные обновляются.
Можно использовать функцию, относящуюся к этому.
<template>
<input v-model="name" class="name"></input>
</template>
<script>
export default {
data() {
return { name: '' }
},
methods: {
applyName() {
let nameData = this.name
}
}
}
</script>
Вы правы, вы неправильно используете свойство v-model.
Прежде всего, вам нужно определить часть состояния в вашем компоненте, используя данные:
export default {
data: () => ({
name: '',
}),
methods: {
log() {
console.log(this.name);
}
}
}
Затем вы можете связать этот фрагмент данных в своем компоненте, используя v-model="name"
, как вы это сделали. Однако, если вы хотите получить доступ к этому фрагменту состояния в вашем методе, вы должны использовать this.name
в своем методе applyName()
.
Ваш синтаксис {{name}}
используется для получения доступа к данным в вашем шаблоне, например:
<template>
<span>
My name is: {{name}}!
</span>
</template>