亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

模板視圖和AngularJS之間沖突的解決方法

原創(chuàng) 2017-01-07 15:39:00 622
摘要:本文實(shí)例講述了模板視圖和AngularJS之間沖突的解決方法。分享給大家供大家參考,具體如下:?jiǎn)栴}:在php的mvc視圖中,我們需要在加載的過(guò)程中傳遞一些數(shù)據(jù)給模板:如:這里是某個(gè) controller$data['users'] = {something from databases}; $this->load->view(&#

本文實(shí)例講述了模板視圖和AngularJS之間沖突的解決方法。分享給大家供大家參考,具體如下:

問(wèn)題:

在php的mvc視圖中,我們需要在加載的過(guò)程中

傳遞一些數(shù)據(jù)給模板:

如:

這里是某個(gè) controller

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

這里是對(duì)應(yīng)的視圖

<div ng-controller="loadData">
   <ul>
    <!--1. 初始化的時(shí)候我們需要使用下面這句-->
    <?php foreach(users as user):?>
    <li><?=$user->name?>:<?=$user->email?><li>
    <?php endforeach?>
    <!--2. 但是結(jié)束后 我們需要使用這句 通過(guò)ajax 更新 -->
    <li ng-repeat="user in users">{{user.name}}:{{user.email}}</li>
  </ul>
</div>

那么現(xiàn)在問(wèn)題來(lái)了 如何處理 1 和 2 之間的矛盾?

第一種解決方案:

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

我們將 php傳過(guò)來(lái)的數(shù)據(jù)存儲(chǔ)在變量里,然后再通過(guò)
$scope對(duì)其進(jìn)行賦值,ok

第二種解決方案(推薦):

我們使用ng-if屬性解決我們的問(wèn)題,對(duì)于users未定義時(shí)調(diào)用php數(shù)據(jù)
ajax傳遞完成后使用我們的數(shù)據(jù)并定義 $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>

更多關(guān)于模板視圖和AngularJS之間沖突的解決方法請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!    


發(fā)佈手記

熱門詞條