2014-07-26 146 views
0

嵌套不工作當我使用以下命令:功能角度JS

$scope.test = function() { 
     this.batchId = false; 
     this.batchToggle = true; 
    } 

批次ID工程和NG-顯示和鼠標懸停事件發生和作品。 $ scope.test函數顯示每個批處理ID上的upload.view。

但是,當我使用這個:

$scope.searchFeature = { 
    showSearch: false, 
      addBatchButton: true, 
      test:function() { 
       // alert(this);  
       this.batchId = false; 
       this.batchToggle = true; 
      } 

showSearch.test()不起作用。並且不顯示批次標識上傳/查看懸停爲什麼?

See plunker code.

回答

0

其工作。檢查this plunker

你需要改變通話ng-mouseover="searchFeature.test()"

的功能測試()的searchFeature對象內部定義,您需要使用searchFeature訪問它。

它的JavaScript和工作無關與角度的方式......

編輯

結帳updated plunker,它的工作..我不得不做一些修改是...讓我知道,如果其工作如期

+0

市右垣九HarishR我用searchFeature.test(),但它不工作,你可以看到,當我們使用 $ scope.test其作用是顯示在每個批次ID upload.view 但是當我們使用searchFeature.test()沒有變化再次出現在batchId 看到plunker http://plnkr.co/edit/gklQvFUUvx4maIczOUA2 – SamiMalik

+0

結帳[新plunker]( http://plnkr.co/edit/ylaA08iV760MVS5WzYQn?p=preview) – harishr

+0

只有小問題當鼠標懸停事件發生時,Batchid沒有隱藏 我的意思是在屏幕上顯示upload/view時,應該隱藏batchId。 – SamiMalik

0

試試這個。希望這是你的功能之後:

<td data-title="'ID'" ng-mouseover="test(batch)" ng-mouseleave="testLeave(batch)"> 
      <div ng-show="batch.showId">{{batch.id}}</div> 
      <div ng-show="batch.toggle"> 
      <a>Upload</a> <a ng-href="/batches/{{batch.id}}">View</a> 
      </div> 
     </td> 

    $scope.test = function (batch) { 
     batch.showId = false; 
     batch.toggle = true; 
    } 

    $scope.testLeave = function (batch) { 
     batch.showId = true; 
     batch.toggle = false; 
    } 


$scope.batches = [ 
     {id: "2014BATCH50", status: "QC in Progress. Illumina: 24/50", date: "10/24/14", qlty: "check", illumina: "none, raw, modified, modified", FX: "modified", showId: true, toggle: false}, 
     {id: "2014BATCH49", status: "Pre-Extraction", date: "10/24/14", qlty: "check", illumina: "none, raw, modified, modified", FX: "modified", showId: true, toggle: false} 

    ]; 

我減少了批次的數量只是爲了提高速度。分配一個showIdtoggle屬性到每個批次並直接對它們進行處理。您可以摺疊此爲$ scope.searchFeature結構也一樣,如果你喜歡:

$scope.searchFeature = { 
     showSearch: false, 
     addBatchButton: true, 
     test:function(batch) {  
      batch.showId = false; 
      batch.toggle = true; 
     } 
    } 
+0

是的,但我需要 $ scope.searchFeature.test()它不能正常工作,如 $ scope.test();正常工作 – SamiMalik

+0

我想我現在明白了。看到我編輯的答案 – TrazeK