2014-05-02 86 views
1

我有使用ng-class與嵌套屬性的煩惱:納克級嵌套屬性

這項工作

ng-class="{'fullscreen': isFullScreen()}" 

這不起作用

ng-class="{'fullscreen': vm.isFullScreen()}" 

我失去了一些東西明顯?我沒有與其他指令任何問題像ng-ifng-switch

這裏是一個JS提琴,說明這個問題:http://jsfiddle.net/4Efz4/2

+1

什麼是'vm'?此外,在控制檯中的任何錯誤? – tymeJV

+0

vm是我在範圍上定義的pojo。如果我直接在作用域上定義'isFullscreen()'函數(並使用第二個代碼片段),那麼它可以正常工作,如果我使用'isFullScreen()'函數在作用域上定義一個vm對象(並使用第一個代碼段)它沒有。讓我設置一個jsfiddle來清除 –

+0

你發佈的內容沒有什麼明顯的。你能顯示控制器的相關位嗎? –

回答

1

編輯:

看到你評論過的jsfiddle,你的榜樣正常工作

enter image description here


http://jsfiddle.net/88nut/

觀點:

<div ng-app> 
    <div ng-controller="TestingCtrl"> 

       <div ng-repeat="p in persons"> 

        <input ng-model="p.name" ng-class="{'fancy' : p.isFullScreen()}"> 
       </div> 
    </div> 
</div> 

控制器:

function TestingCtrl($scope) { 

    $scope.persons = [{ 
     name: 'Alice', 
     isFullScreen: function() 
     { 
      return false; 
     } 
    }, { 
     name: 'Bob', 
     isFullScreen: function() 
     { 
      return true; 
     } 
    }]; 

} 

CSS:

.fancy{ 
    background:Yellow; 
}