模板视图和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 相关文章推荐
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 Javascript
使用script的src实现跨域和类似ajax效果
Nov 10 Javascript
js实现简单div拖拽功能实例
May 12 Javascript
js获取滚动距离的方法
May 30 Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
深入理解js数组的sort排序
May 28 Javascript
深入理解jQuery 事件处理
Jun 14 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
如何编写一个完整的Angular4 FormText 组件
Nov 18 Javascript
详解es6超好用的语法糖Decorator
Aug 01 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 Javascript
Taro小程序自定义顶部导航栏功能的实现
Dec 17 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下对字符串的递增运算代码
2010/08/21 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
python数据预处理方式 :数据降维
2020/02/24 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
中国宠物用品商城:E宠商城
2016/08/27 全球购物
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
新闻记者实习自我鉴定
2013/09/19 职场文书
青年文明号创建承诺
2014/03/31 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
年终晚会活动方案
2014/08/21 职场文书
入党转正介绍人意见
2015/06/03 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
Mysql Online DDL的使用详解
2021/05/20 MySQL
Spring整合Mybatis的全过程
2021/06/28 Java/Android