在Vue(2)中有没有一个像样的方法来处理Bootstrap(3)模态隐藏事件?
我发现这是一种JQuery方式,但我无法弄清楚如何在Vue中捕获此事件:
$('#myModal').on('hidden.bs.modal', function () {
// do something…
})
Run Code Online (Sandbox Code Playgroud)
添加类似的东西v-on:hide.bs.modal="alert('hide')似乎不起作用.
有没有办法防止 v 选项卡在单击时实际发生变化?
就我而言,我首先需要检查页面上的内容是否已更改,并希望取消切换到另一个选项卡(如果已更改)。
event.prevent 和 event.stop 都不会阻止 v-tab 的更改:
<v-tab @click.prevent.stop="..."> ... </v-tab>
目前我正在使用 awindow.requestAnimationFrame将选项卡索引重置为旧值。它完成了工作,但对我来说这感觉是一种非常讨厌的技术。
HTML:
<v-tabs v-model="currentIndex">
<v-tab v-for="(route, index) in list" :key="index" @change="handleTabChange(route, $event)" >
{{ route.meta.title }}
</v-tab>
</v-tabs>
Run Code Online (Sandbox Code Playgroud)
TS:
public handleTabChange(routeConf:RouteConfig):void {
let currentIndex:number = this.currentIndex;
window.requestAnimationFrame(() => {
this.currentIndex = currentIndex;
Store.app.router.goto(routeConf.name, null, this.$route.params);
// Once the page actually changes this.currentIndex is set to the correct index..
});
}
Run Code Online (Sandbox Code Playgroud) 我正在使用map中的函数来RouteServiceProvider操作一些路线,然后再进行进一步处理。当我在本地计算机上运行时,一切运行正常,但在生产服务器上,由于某种原因,没有调用任何地图函数。为了确保该错误不是出于某种原因出现在我自己的代码中,我使用了原始的 RouteServiceProvider.php,仅添加了一些回声以用于测试目的:
<?php
namespace App\Providers;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/**
* The path to the "home" route for your application.
*
* @var string
*/
public const HOME = '/home';
/**
* Define your route model bindings, …Run Code Online (Sandbox Code Playgroud) 有没有一种(简单的)方法可以将 Eloquent Collection 转换为实际数组而不转换元素本身?
当我尝试将集合传递到像array_rand($collection). 这给了我错误:array_rand() expects parameter 1 to be array, object given。
我通过使用$collection->shuffle()->first();which 工作正常来解决这个问题,当然我可以遍历集合并将所有内容推送到数组中,但出于好奇,我想知道我是否忽略了某些东西。
更新/结论
allaIlluminate\Support\Collection和 a上的方法似乎有所不同Illuminate\Database\Eloquent\Collection。Eloquent 集合上的 all 返回一个支持集合,支持集合返回一个数组。
因此,要获得您需要使用的 Eloquent 模型数组 SomeModel::all()->all();
我正在使用 apollo 客户端对 graphql 查询做出反应,现在我有一个问题,虽然我使用 useLazyQuery 钩子以编程方式查询,但是当我第二次查询时, onCompleted 回调实际上没有触发,网络请求实际上已完成并且 1 索引中的状态该钩子的返回值正在更新
const [getUser, getUserStatus] = useLazyQuery(GET_USER, {
fetchPolicy: 'no-cache',
notifyOnNetworkStatusChange: true,
// this callback is not triggering 2nd call of getUser
onCompleted: (data) => {
const { customerCart, customer } = data;
if (!id) {
dispatch(updateCartId(customerCart.id));
}
if (id !== customerCart.id) {
mergeCart({
variables: { cartId: id, cartIdToMerge: customerCart.id },
});
}
dispatch(updateUser(customer));
},
onError: (error) => {
checkHasAuth(error);
},
});
useEffect(() => {
if (token) {
// here i …Run Code Online (Sandbox Code Playgroud) 我喜欢使用MailMessage将一些html标签添加到我的邮件正文中,如下所示:
$mailMessage = new MailMessage();
$mailMessage->line(trans('mail.someLine') );
Run Code Online (Sandbox Code Playgroud)
在mail.php中:
'someLine' => 'Bla bla <a href="html://someurl">html://someurl</a>'
Run Code Online (Sandbox Code Playgroud)
但在实际邮件中,整行都以纯文本形式出现.
我试过使用html_entity_decode但没有任何成功:
$mailMessage->line(html_entity_decode(trans('mail.someLine')));
Run Code Online (Sandbox Code Playgroud)
看起来像行方法它自己编码.这有解决方法吗?
ps其余的邮件都有正确的HTML,所以这不是重点!
更新:$ mailMessage->在这种情况下不会执行操作.让我们说它应该适用于这样的事情:
$mailMessage->line('Bla bla <strong>something strong</strong> bla');
在Laravel 5.7中更改成功,错误和原色的最佳方法是什么?
我有email.blade.php通过 php artisan vendor:publish --tag=laravel-notifications
...
{{-- Action Button --}}
@isset($actionText)
<?php
switch ($level) {
case 'success':
case 'error':
$color = $level;
break;
default:
$color = 'primary';
}
?>
@component('mail::button', ['url' => $actionUrl, 'color' => $color])
...
Run Code Online (Sandbox Code Playgroud)
模板使用'success','error'和'primary'为按钮上色,但是在哪里可以更改它们的值?
使用 (Vue) Element UI 我试图禁用 Dialog 元素在单击时关闭。在文档中它说有一个 close-on-click-modal 属性,但它的默认值为 true,我不知道如何将其设置为 false。
close-on-click-modal="false" 给出这个错误: "closeOnClickModal". Expected Boolean, got String.
有没有办法禁用此设置?
我试图通过代码取消选择 v-tabs 组件,但它总是最终选择第一个选项卡。
当 v-model 设置为 -1 时,它会在初始化时取消选择,但是一旦选择了任何选项卡,似乎就无法取消选择。除了其中一个选项卡之外的任何其他值只会选择第一个选项卡并将索引设置为 0。(v-model 和 value 具有相同的结果)
这是一个 CodePen 示例:https ://codepen.io/arno-van-oordt/pen/qBBbmzY
HTML:
<div id="app">
<v-app id="inspire">
tabIndex: {{tabIndex}}
<v-tabs :value="tabIndex">
<v-tab>Item One</v-tab>
<v-tab>Item Two</v-tab>
<v-tab>Item Three</v-tab>
</v-tabs>
<v-tabs v-model="tabIndex">
<v-tab>Item One</v-tab>
<v-tab>Item Two</v-tab>
<v-tab>Item Three</v-tab>
</v-tabs>
<v-btn @click="deselect">Deselect</v-btn>
</v-app>
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
new Vue({
el: "#app",
vuetify: new Vuetify(),
data: {
tabIndex: -1
},
methods: {
deselect: function() {
this.tabIndex = -1;
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是一个错误还是我在这里遗漏了什么?
我在 Laravel .env 文件的值中使用特殊字符时遇到问题。例如:
DB_PASSWORD=some#secret
Run Code Online (Sandbox Code Playgroud)
现在env('DB_PASSWORD')只是“一些”
有没有办法转义字符或其他一些方法来在 .env 文件中使用这样的值?
以防万一,我的服务器在 CentOS 8.2.2004 上运行
更新:忘记整件事。事实证明这是一个完全不同的问题。不过,下面的答案在实际问题上是正确的。
在 Vue3 中,有没有一种方法可以将属性传递给路由,而无需在 url 中显示值?
我这样定义路线:
{
path: '/someRoute',
name: 'someRoute',
component: () => import('@/app/pages/SomeRoute.vue'),
props: (route) => {
...route.params
}, // <-- I've seen this method in Vue2 but in Vue3 the route.params is just empty here
}
Run Code Online (Sandbox Code Playgroud)
我这样称呼该路线:
<router-link :to="{ name: 'someRoute', params: { message: 'Some Message' } }">Some link</router-link>
Run Code Online (Sandbox Code Playgroud)
当我将路径更改为path: '/someRoute/:message',消息时,效果很好,但我只想传递消息而不将其显示在网址中。
我见过几个使用此方法的 Vue2 示例(例如/sf/answers/3535513061/),但显然它们不再在 Vue3 中工作。
还有 Vue3 文档中的所有示例(https://github.com/vuejs/vue-router/blob/dev/examples/route-props/app.js / https://v3.router.vuejs.org/guide /essentials/passing-props.html)通过 url 本身传递它们的值,所以我不确定它是否还可能。
对此的任何想法都会有所帮助。
我在一个标签上有一个 v-if <span v-if="someValue">,我想开始隐藏它,并且只有当 in 的值someValue设置为 true时才可见。不幸的是,即使一开始的值为 false,它在加载页面时仍然会闪烁(可能在 Vue 有时间删除标签之前)。有没有好的方法来处理这个问题?
vue.js ×6
laravel ×5
php ×4
html ×2
vuetify.js ×2
arrays ×1
caching ×1
centos ×1
collections ×1
css ×1
element-ui ×1
email ×1
graphql-js ×1
html-email ×1
javascript ×1
laravel-5 ×1
laravel-5.7 ×1
reactjs ×1
vue-router ×1
vue-router4 ×1
vuejs2 ×1
vuejs3 ×1
vuetify-tabs ×1