2014-05-02 79 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; 
}