模板视图和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 相关文章推荐
ie和firefox不兼容的解决方法集合
Apr 28 Javascript
JQuery 学习笔记 选择器之四
Jul 23 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
Jul 17 Javascript
基于JavaScript实现树形下拉框
Aug 10 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
Jan 22 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
Mar 01 Javascript
微信小程序之页面跳转和参数传递的实现
Sep 29 Javascript
AngularJS基于MVC的复杂操作实例讲解
Dec 31 Javascript
vue cli升级webapck4总结
Apr 04 Javascript
JS实现520 表白简单代码
May 21 Javascript
react native 原生模块桥接的简单说明小结
Feb 26 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
Jul 20 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
一个程序下载的管理程序(二)
2006/10/09 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
bootstrap实现嵌套模态框的实例代码
2020/01/10 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
Python 自动安装 Rising 杀毒软件
2009/04/24 Python
Python读取键盘输入的2种方法
2015/06/16 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
银行出纳岗位职责
2013/11/25 职场文书
物流管理专业职业生涯规划书
2014/01/06 职场文书
副董事长岗位职责
2014/04/02 职场文书
三八妇女节寄语
2015/02/27 职场文书
毕业论文指导老师意见
2015/06/04 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android