Я столкнулся с проблемой, пытаясь заполнить поле выбора с помощью системы без жира.
Я пытаюсь использовать axios, как в большинстве уроков, я указываю на "response.data", но в моем поле ничего не заполняется.
У меня есть этот код в моей модели:
public function ReadUserData($action) {
if (strcmp($action, "read") == 0) {
global $f3;
$user = $this->db->exec("SELECT * FROM users");
return json_encode($user);
}
}
У меня есть это в моем контроллере:
$Users = new UserModel($this->db);
$DataUser = $Users->ListDatabaseUser();
if (isset($_GET['action'])) {
$data = $Users->ReadUserData($_GET['action']);
$f3->set("users", $data);
}
и VUE JS у меня есть:
<script type="text/javascript">
var Myapp = new Vue({
el: "#app",
delimiters: ['{%', '%}'],
data: {
heading: 'test',
dataSelect: null,
makes_options: []
},
created() {
axios.get('http://localhost/?action=read')
.then(function(response) {
Myapp.make_options = response.data;
console.log(Myapp.make_options);
});
}
});
Я тоже пытаюсь заменить:
Myapp.make_options = "{{ @users }}"
но без успеха: /
Для отображения, что у меня есть это в HTML:
<label for="Select">Select</label>
<select class="form-control" name="dataSelect" id="dataSelect" v-model="dataSelect">
<option v-for="option in makes_options" :value="option.id">{% option.username %}</option>
</select>
В настоящее время мое поле пусто, и я не понимаю, почему мой JSON не интерпретируется правильно