我正在创建一个基本的SPA,但碰巧我用Vuex管理的状态和那里的突变都可以,但是在我想要使用mapState和mapMutations的每个组件中,我必须在本地导入它们.
<script>
import {mapState,mapMutations } from 'vuex';
export default{
computed : mapState(['isLoggedIn']),
methods: {
...mapMutations(['logout'])
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?或者我如何在全局范围内声明它们并避免在每个组件中导入以使其如下所示?
<script>
export default{
computed : mapState(['isLoggedIn']),
methods: {
...mapMutations(['logout'])
}
}
</script>
Run Code Online (Sandbox Code Playgroud) 我有一个 Laravel、VueJs、VueRouter、Vuex 应用程序,使用 Webpack 来编译我的资产。
包.json
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"@fortawesome/fontawesome-free": "^5.14.0",
"axios": "^0.18",
"bootstrap": "^4.0.0",
"laravel-mix": "^3.0.0",
"lodash": "^4.17.19",
"popper.js": "^1.12",
"vue": "^2.5.7"
},
"dependencies": {
"@fullcalendar/core": "^5.11.3",
"@fullcalendar/daygrid": "^5.11.3",
"@fullcalendar/interaction": "^5.11.3",
"@fullcalendar/list": "^5.11.3", …Run Code Online (Sandbox Code Playgroud) 我尝试更新我的表类别的记录,但它向我显示错误
未找到列:1054未知列'_token'
路线
Route::post('/categorias/edit/{id}', 'CategoryController@update');
Run Code Online (Sandbox Code Playgroud)
调节器
public function update(Request $request, $id)
{
$data = request()->all();
Categoria::where('id', '=', $id)->update($data);
return redirect()->to('categorias');
}
Run Code Online (Sandbox Code Playgroud)
模型
class Categoria extends Model
{
protected $table = 'categoria';
protected $fillable = ['id','codigo','nombre','descripcion','estado'];
Run Code Online (Sandbox Code Playgroud)
形成
{{ Form::open(array('url' => url('categorias/add') , 'class'=>'form-horizontal' , 'id' => 'formulario' , 'method' => 'POST')) }}
{{ csrf_field() }}
<input id="idcate" name="id" type="hidden" placeholder="" class="form-control input-md" required="">
<input id="txtcodigo" name="codigo" type="text" placeholder="" class="form-control input-md" required="">
<input id="txtnombre" name="nombre" type="text" placeholder="" class="form-control input-md" required="">
<textarea class="form-control" …Run Code Online (Sandbox Code Playgroud) 我正在创建SPA,并且作为客户端会话的基本示例,无论用户是否登录,我都使用Vuex存储布尔状态,在不手动更新浏览器的情况下,它可以正常工作。当状态重新启动为其初始状态时,是否有任何方法可以防止这种情况发生?还是应该始终使用本地存储?如果是这样,如何获取初始存储状态?
组件导航栏
<template>
<div>
<ul v-if="!isLogued">
<router-link :to="{ name:'login'}" class="nav-link">Login</router-link>
</ul>
<ul v-if="isLogued">
<a href="#" class="nav-link">Profile</a>
<a href="" @click.prevent="logout">Salir</a>
</ul>
</div>
</template>
<script>
import {mapState,mapMutations } from 'vuex';
export default{
computed : mapState(['isLogued']),
methods:{
...mapMutations(['logout']),
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
Store.js
export default {
state: {
userLogued: {},
api_token : '',
isLogued : false
},
mutations: {
login( state){
state.userLogued = JSON.parse(localStorage.getItem('usuario'));
state.api_token = localStorage.getItem('api_token');
state.isLogued = true
},
logout(state){
state.userLogued = {}
state.isLogued = false
state.api_token = null
localStorage.clear()
}
} …Run Code Online (Sandbox Code Playgroud) 我现在正在使用GuzzleHttp发出HTTP请求,首先我向login.asp发出POST请求,该请求返回带有Set-Cookie的响应,该响应具有我将来的请求所需的值
当我检查获得的答案时,我得到以下信息
如前所述,我得到了除Set-Cookie以外的所有键,这会发生什么?我如何获得该价值?我正在使用"guzzlehttp/guzzle": "^6.3",还是可以使用其他工具来获得它?
$jar = new CookieJar;
$client = new Client([
'base_uri' =>'miurl/',
'timeout' => 10.0,
'cookies' => $jar
]);
$response = $client->request('POST', 'login.asp', [
'form_params' => [
'pws' => '',//data password
'user' => '',//data user
]
]);
//Request require coookies
$response = $client->request('POST', 'goform/Wls', [
'form_params' => [
/*Form´Params*/
],
//if I manually add a correct userid the post application works fine
'headers' => [
//Require cookie param userid
'Cookie' => 'LANG_COOKIE=lang_span; userid=1524324306',
]
]);
Run Code Online (Sandbox Code Playgroud)
我有一个像这样的连锁页面链
file.php?Valor1=one&Valor2=two&Valor3=three
Run Code Online (Sandbox Code Playgroud)
我希望能够删除只有具有它的值的get请求参数.例如,remove two
结果
file.php?Valor1=one&Valor3=three
Run Code Online (Sandbox Code Playgroud)
试试吧
stringvalue.replace(new RegExp(value+"[(&||\s)]"),'');
Run Code Online (Sandbox Code Playgroud) javascript ×3
laravel ×3
vue.js ×3
vuex ×3
php ×2
vue-router ×2
guzzle ×1
jquery ×1
regex ×1
webpack ×1