2012-06-16 81 views
2

我想通過ng-repeat表達式來訪問一個範圍表達式,該表達式被分配給一個變量。對ngrepeat表達式的評估

所以,我想要做的是這樣的事情:

ng-repeat="variable in eval(key)" 

遺憾的是無效的。我該如何解決這個問題?

+0

你是什麼意思?這工作:http://jsfiddle.net/andytjoslin/BHA6M/ –

+0

沒錯,但我想要的東西是這樣的:http://jsfiddle.net/AmyyZ/1/ – zVictor

+0

記住它的範圍。$ eval,而不是scope.eval。必須把$。我把它作爲答案。 –

回答

2

這會工作:

HTML:

<div ng-controller="MyCtrl"> 
    <div ng-repeat="item in $eval(key)">{{item}}</div> 
</div> 

JS:

function MyCtrl($scope) { 
    $scope.key = "items"; 
    $scope.items = [1,2,3]; 
} 
​ 

http://jsfiddle.net/andytjoslin/n5h4U/

(編輯,見註釋)

+0

我不知道$ eval的存在,或者如何使用它。再次感謝! 但實際上,我認爲正確和直接的答案會有點不同,像這樣:http://jsfiddle.net/3PGsV/1/ – zVictor

+0

是的,我只是做了ng-init來保持它的緩慢。 –

+0

我同意..雖然它不回答ngrepeat的問題。 我接受了你的答案,因爲這對我來說已經足夠了,但是如果你編輯答案,我認爲未來的訪問者會更好。 – zVictor