后台要传递数据给前端,就是把数据在渲染视图时直接写成一个js变量,然后前端js就可以使用这个变量.
具体代码流程:
1在 application\common\controller\Backend.php 中 的初始化函数中 public function \_initialize(),里面就有
```
//渲染配置信息
$this\->assign('config', $config);
```
把config这个变量渲染给前端页面;
2在具体的某个控制器php中,把要传递的数据合并入这个config中,使用
protected function assignconfig($name, $value = '') 这个函数.
比如:
```
$this->assignconfig('row', $userInfo);
把用户信息合并入config中,数组下标名称是row.
```
我们默认统一使用row这个名称作为页面的数据名称;
3前端js设置变量内容,在application\admin\view\common\meta.html 中已经写好了:
```
var require = {
config: {$config|json_encode}
};
```
把config 转为js数组;
因为,除了可以在require.js加载完毕后,通过`require.config()`方法去配置参数,我们也可以在require.js加载之前,定义一个全局的对象变量 require 来事先定义配置参数。然后在require.js被浏览器加载完毕后,便会自动继承之前配置的参数;
FA就是同时使用了加载前和加载后配置require两种方式.
4前端使用Config,
FA把config包装了一下:
```
//初始配置
var Config = requirejs.s.contexts.\_.config.config;
//将Config渲染到全局
window.Config = Config;
```
requirejs.s.contexts.\_.config是requirejs用于暴露内部配置数据的方法
把config包装成了全局变量,方便所有地方使用,同时把名称第一个字母改成了大写;
最后在实际的控制器js使用时,就可以直接调用了:
```
Config.row
```
这个row 就是我们的用户信息数组了;
- FA的JS调用机制说明
- FA的JS之Fast.api逐个详解
- FA页面渲染时后端传递数据给前端的方式
- FA的ajax查询数据的前后台流程
- FA特有的函数解释
- FA的鉴权Auth类
- extend\fast\Auth.php详解
- application\admin\library\Auth.php详解
- application\common\library\Auth.php详解
- FA的Token机制
- FA管理员(后台)的权限机制
- FA用户(前台和API)的权限机制
- FA在前台模板文件中进行鉴权
- FA的登录页面
- TP类Hook:钩子机制
- TP类Lang:多语言机制
- TP类Config:参数配置机制
- TP类Request:请求类
- TP的模型关联详解
- think-queue队列组件
- Queue.php
- \queue\Connector.php
- \queue\connector\Redis.php
- \queue\Job.php
- queue\job\Redis.php
- PHP规则:正则表达式
- PHP规则:闭包与匿名函数
- 项目架构说明
- 代码架构
- TP数据库where条件的各种写法
