模板视图和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 相关文章推荐
网页自动刷新,不产生嗒嗒声的一个解决方法
Mar 27 Javascript
IE下js调试工具Companion.JS
Oct 15 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 Javascript
JavaScript获取客户端IP的方法(新方法)
Mar 11 Javascript
js 求时间差的实现代码
Apr 26 Javascript
jquery UI Datepicker时间控件的使用及问题解决
Apr 28 Javascript
js智能获取浏览器版本UA信息的方法
Aug 08 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
Dec 19 Javascript
vue-resource拦截器设置头信息的实例
Oct 27 Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 Javascript
手写实现JS中的new
Nov 07 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
PHP验证码函数代码(简单实用)
2013/09/29 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
jQuery基础框架浅入剖析
2012/12/27 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
python连接sql server乱码的解决方法
2013/01/28 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
python小程序基于Jupyter实现天气查询的方法
2020/03/27 Python
Python 可视化神器Plotly详解
2020/12/26 Python
英国足球店:UK Soccer Shop
2017/11/19 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
精选奢华:THE LIST
2019/09/05 全球购物
学习普通话的体会
2014/11/07 职场文书
继续教育个人总结
2015/03/03 职场文书
党员证明模板
2015/06/19 职场文书
php 原生分页
2021/04/01 PHP