2014-09-18 40 views
1

我試圖拉取div元素中的值,一旦我獲得值,我想調用一個函數來獲取數據。我無法撥打div元素內部功能 這裏是我的HTML如何在div中加載angularjs中的函數

爲stats.html

<div class="ItemsList" data-ng-init="GetStatsData({{menu.result}})"> 
{{myitems}} 
<div> 

RootController.js

function GetStatsData(resultval) { 
homeService.getitemsData(resultval) 
     .success(function (data, status, headers, config) { 
         $scope.myitems = data 
       }); 
} 

直接調用函數時,我得到的數據,但是當我嘗試使用div標籤並調用函數我不能得到這個工作,它從來沒有調用該函數。我的主要目標是在功能中傳遞menu.result的myitems中獲得價值。

我感謝所有幫助得到這個解決

+0

你需要分享更多的代碼...什麼是menu.result?它在哪裏定義?你在哪裏初始化它等等......另外,如果你與一個孤立的問題共享一個jsfiddle或者一個笨蛋,它會有所幫助。謝謝!順便說一句,當你調用函數時,你不需要插入'menu.result' – Josep 2014-09-18 22:48:38

回答

0

正如文件中所提及ngInit
The only appropriate use of ngInit is for aliasing special properties of ngRepeat

你應該改變你,你叫GetStatsData從控制器調用方式如下

$scope.group.menuData = [] // set the array of data here 

for(n = 0, n < $scope.group.menuData.length, n++) { 
    // wrap you async calls inside function when in loop 
    $(function(index) { 
     //CALL GetStatsData 
     GetStatsData($scope.group.menuData[index]); 
    })(n); 
} 

GetStatsData的實現需要很少修改

function GetStatsData(menu) { 
    homeService.getitemsData(menu.result) 
    .success(function (data, status, headers, config) { 
        menu.myitems = data 
      }); 
} 

現在您查看HTML應該是這樣的

<div class="ItemsList"> 
    {{menu.myitems}} 
<div>