2015-01-08 76 views
-1

定義我有一個NG,如果NG重複的模板,裏面的NG-如果不工作,即使我改變它只是ngIf內ngRepeat內<table>不工作時,控制器串

ng-if="false" 

我可以把它加入

ng-controller="TemplateController" 

到父DIV工作,但是當我這樣做,我的控制器不能接收解決參數:

resolve: { 
    myVar: function() { 
     return "hello world"; 
    } 
} 

Unknown provider: myVarProvider <- myVar 

如果我刪除了NG-控制器,和我的決心:,然後myvar可以順利通過後添加

controller: "TemplateController" 

,但是NG-如果不再起作用

我的HTML:

<table> 
    <div ng-repeat=「row in rows"><tr> 
     <span ng-if=「row.active==1"> 
      <td>{{row.data}}</td> 
      <td></td> 
      <td>{{ row.date | date:"MM/dd/yyyy"}}</td> 
      <td> 
       <a href=「stuff」>click me</a> 
      </td> 
     </span> 
     <span ng-if=「row.active > 1"> 
      <td>{{row.otherData}}</td> 
      <td>{{row.str}}</td> 
      <td>{{ row.date | date:"MM/dd/yyyy"}}</td> 
      <td> 
       <a href=「stuff」>click me instead</a> 
      </td> 
     </span></tr> 
    </div> 
</table> 

現在,我得到一大堆空白單元格,並且都是'點擊我'鏈接。

如果刪除標記,它的工作原理,但它不是在一個表

而且,不僅是NG,如果沒有工作,但任何變量我引用內部{{}}被替換爲空白(但他們也工作,如果被刪除)

的jsfiddle:http://jsfiddle.net/Mh2UH/1/

+2

請告訴我們更多的代碼和上下文.. – PSL

+0

使用'NG-顯示/ NG-hide'代替'NG-if' – underscore

+0

@underscore他們不工作,要麼 – zacaj

回答

-2

的金科玉律,以避免這個問題是

總是要有一個點在你的角度綁定

ng-if="false" 

沒有點。因此,值false將被傳遞給ng-if的範圍,但不能被更新,因爲false是不可變的布爾值。

正確的方法,

ng-if=status.enabled 

如果狀態是一個對象。

+0

你是對的始終包括一個點,但不與他的問題有關。 –