使用js代码时,yii2中的flash消息无法正常工作

时间:2017-09-08 15:30:53

标签: yii2 flash-message

嗨我有flash消息显示成功消息,我想在3秒后隐藏。我使用js代码,但在第3行,当我使用view :: POS_READY我得到错误,没有找到该类,所以我评论这一行,然后js代码不起作用,不淡化我的消息。 如何解决这个问题?

这是我在视图中显示的flash代码:

<?php if(Yii::$app->session->hasFlash('flashMessage')):?>
    <div class="flash-success">
            <?php echo Yii::$app->session->getFlash('flashMessage'); ?>
            <?php
            $this->registerJs(
            "$('.flash-success').animate({opacity: 1.0}, 3000).fadeOut('slow');",
            //view::POS_READY,
            'myHideEffect'
);
            ?>

在控制器中设置闪光灯:

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        Yii::$app->session->setFlash('flashMessage', 'success');
 return $this->redirect('index.php');
    } 

2 个答案:

答案 0 :(得分:1)

试试这个......或者你可以“使用\ yii \ web \ View;”在视图文件的顶部

<?php if(Yii::$app->session->hasFlash('flashMessage')):?>
    <div class="flash-success">
        <?php echo Yii::$app->session->getFlash('flashMessage'); ?>
        <?php
            $this->registerJs(
            "$('.flash-success').animate({opacity: 1.0}, 3000).fadeOut('slow');",
            \yii\web\View::POS_READY,
            'myHideEffect'
        );
        ?>

答案 1 :(得分:0)

接受的答案可能很有效,但我建议使用Growl widget。褪色只是功能的一部分。