Yii2基础笔记(五):view、widget、controllder之间的数据传递

1.controller中的变量传递给view文件
① 通过render方法中数组的方式传递
② 在action中通过view对象 用属性赋值,如下:

        $view = \Yii::$app->getView();
        $view->params['待传递的变量名'] = 变量值;
 然后在view文件中,直接用`$this->params['传递的变量名'];` 来获取
 同理,这个方法可以在layouts布局文件中获取该变量;

③ 在view文件中 通过context上下文来设置变量值:

        $context = $this->context;//该上下文就包含有当前的controller
 然后,直接在view的div或其他html元素中输出:
    <?php echo $context->controller中定义的变量名; ?>
 此外,context还可以调用当前controller中的action方法;
 如:在view文件中使用:$context->actionIndex();

2.widget组件也可以使用view对象,使用render方法,context也可以指向当前的widget组件

你可能感兴趣的:(数据,yii,传递)