模板视图和AngularJS之间冲突的解决方法


Posted in Javascript onNovember 22, 2016

本文实例讲述了模板视图和AngularJS之间冲突的解决方法。分享给大家供大家参考,具体如下:

问题:

在php的mvc视图中,我们需要在加载的过程中

传递一些数据给模板:

如:

这里是某个 controller

$data['users'] = {something from databases};
$this->load->view('home/index',$data);

这里是对应的视图

<div ng-controller="loadData">
   <ul>
    <!--1. 初始化的时候我们需要使用下面这句-->
    <?php foreach(users as user):?>
    <li><?=$user->name?>:<?=$user->email?><li>
    <?php endforeach?>
    <!--2. 但是结束后 我们需要使用这句 通过ajax 更新 -->
    <li ng-repeat="user in users">{{user.name}}:{{user.email}}</li>
  </ul>
</div>

那么现在问题来了 如何处理 1 和 2 之间的矛盾?

第一种解决方案:

<script>
 var usersPrefetch = [
  <?php foreach(users as user):?>
  {"name": "<?=$user->name?>", "email": "<?=$user->email?>"},
  <?php endforeach?>
 ];
</script>

我们将 php传过来的数据存储在变量里,然后再通过
$scope对其进行赋值,ok

第二种解决方案(推荐):

我们使用ng-if属性解决我们的问题,对于users未定义时调用php数据
ajax传递完成后使用我们的数据并定义 $scope.users

<ul ng-if="!users">
 <?php foreach(users as user):?>
 <li><?=$user->name?>:<?=$user->email?><li>
 <?php endforeach?>
</ul>
<ul ng-if="users">
 <li ng-repeat="user in users">{{user.name}}:{{user.email}}</li>
</ul>

demo演示地址:https://jsfiddle.net/mser49aq/1/

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
YUI的Tab切换实现代码
Apr 11 Javascript
js弹窗代码 可以指定弹出间隔
Jul 03 Javascript
jQuery实现的仿select功能代码
Aug 19 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
Jan 26 Javascript
jQuery事件委托之Safari
Jul 05 Javascript
详解React-Todos入门例子
Nov 08 Javascript
JSON键值对序列化和反序列化解析
Jan 24 Javascript
从零学习node.js之express入门(六)
Feb 25 Javascript
Angular.js去除页面中显示的空行方法示例
Mar 30 Javascript
深入浅析JSONAPI在PHP中的应用
Dec 24 Javascript
vue单页应用在页面刷新时保留状态数据的方法
Sep 21 Javascript
javascript实现数字时钟效果
Feb 06 Javascript
js入门之Function函数的使用方法【新手必看】
Nov 22 #Javascript
AngularJS变量及过滤器Filter用法分析
Nov 22 #Javascript
jQuery中$.grep() 过滤函数 数组过滤
Nov 22 #Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 #Javascript
浅析JavaScriptSerializer类的序列化与反序列化
Nov 22 #Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 #Javascript
原生JS查找元素的方法(推荐)
Nov 22 #Javascript
You might like
图解上海144收音机
2021/03/02 无线电
PHP4实际应用经验篇(8)
2006/10/09 PHP
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python实现批量转换文件编码的方法
2015/07/28 Python
Python @property使用方法解析
2019/09/17 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
Python函数基本使用原理详解
2020/03/19 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
安全检查汇报材料
2014/12/26 职场文书
新学期开学标语2015
2015/07/16 职场文书
MySQL实现配置主从复制项目实践
2022/03/31 MySQL