模板视图和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 相关文章推荐
jQuery 打造动态渐变按钮 详细图文教程
Apr 25 Javascript
映彩衣的js随笔(js图片切换效果)
Jul 31 Javascript
封装了一个支持匿名函数的Javascript事件监听器
Jun 05 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
JS模拟实现Select效果代码
Sep 24 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
jQuery列表检索功能实现代码
Jul 17 jQuery
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
微信上传视频文件提示(推荐)
Nov 22 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
Apr 15 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
Feb 14 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
php多文件上传实现代码
2014/02/20 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
在Python中使用Mako模版库的简单教程
2015/04/08 Python
python 判断网络连通的实现方法
2018/04/22 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
使用python将多个excel文件合并到同一个文件的方法
2019/07/09 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
python生成并处理uuid的实现方式
2020/03/03 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
导致python中import错误的原因是什么
2020/07/01 Python
python缩进长度是否统一
2020/08/02 Python
基于Python实现粒子滤波效果
2020/12/01 Python
python飞机大战游戏实例讲解
2020/12/04 Python
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
2014年公司迎新年活动方案
2014/02/24 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
鸟的天堂导游词
2015/01/31 职场文书
区域经理岗位职责
2015/02/02 职场文书
四年级数学教学反思
2016/02/16 职场文书