我的文件看起来像这样
/**
* Get the user by e-mail.
*
* @param string $email
* @param string $table
* @return stdClass
*
* @throws \Jrean\UserVerification\Exceptions\UserNotFoundException
*/
protected function getUserByEmail($email, $table)
{
$user = DB::table($table)
->where('email', $email)
->first();
if ($user === null) {
throw new UserNotFoundException();
}
$user = (object)$user;
$user->table = $table;
return $user;
}
我在main.js中的vue实例
./components/UserCreate.vue
./components/UserList.vue
./main.js
的index.html
new Vue({
el: '#user-operations',
components: {
CreateUser,
UserList
}
});
我想在 CreateUser.vue中的 createUser()方法中触发 UserList.vue 中的 userList()方法被触发。或者如何从 CreateUser.vue 将last_user属性传递给 UserList组件以进行追加。
这是我的创建用户组件[working]
https://jsfiddle.net/epp9y6vs/
这是我的用户列表组件[working]
https://jsfiddle.net/ore3unws/
所以我希望在触发createUser()时列出最后一个用户
答案 0 :(得分:1)
我建议使用操作用户实体的所有方法创建服务。它会将您的组件与逻辑的实现区分开来,因为: 1.组件不必知道他们必须对服务器执行哪些调用来检索数据 - 使用抽象级别更好 2.组件更轻,更易于重复使用 3.您将能够在几个组件中使用此逻辑(来自服务) - 完全是您的问题
您有多种方法可以实施服务:
我更喜欢(4)。以下是如何执行此操作的示例:
在描述您的服务的文件/services/UsersService
中放置所有相关方法并使用导出公开它们:
import axios from 'axios'
export default {
get() {
return axios.get('/api/posts)
}
}
然后在需要此方法的任何组件中导入此服务:
import UsersService from '../services/UsersService'
export default {
data() {
return {
items: []
}
},
created() {
this.fetchUsers()
},
methods: {
fetchUsers() {
return UsersService.get()
.then(response => {
this.items = response.data
})
}
}
}
在这个问题中找到更多关于它的信息: here
这个解决方案比使用this.$parent.$refs.userList
要好得多,因为 .table > tbody > tr > td:nth-child(1) {
position: absolute;
display: inline-block;
background-color: #D4D4D4;
width:40px;
/*height: 100%;*/
}
.table > tbody > tr > td:nth-child(2) {
position: absolute;
display: inline-block;
background-color: #D4D4D4;
width:80px;
left:40px;
/*height: 100%;*/
}
假设这些组件将始终保持"兄弟" (将拥有相同的父母)。
答案 1 :(得分:0)
您可以通过以下代码触发userList
中的CreateUser.vue
:
this.$parent.$refs.userList.userList()
并更改您的index.html
:
<div id="user-operations">
<create-user></create-user>
<user-list :ref="userList"></user-list>
</div>
last_user
中创建main.js
属性,然后将其传递给2个组件:
<div id="user-operations">
<create-user:lastUser="last_user"></create-user>
<user-list :lastUser="last_user"></user-list>
</div>