一些問題:
當角指令處理,你通常不需要使用{{...}}
語法,只需使用真正值。因此,而不是:
data-ng-click="sw='{{test.name}}'"
使用:
data-ng-click="sw = test.name"
(見爲什麼這是不夠的下一個點)
ng-repeat
使用它自己的範圍與transclusion,所以以上將sw
設置在錯誤的範圍內,使用:
data-ng-click="$parent.sw = test.name"
你不能ng-repeat
建立ng-switch-when
的,儘量ng-show/hide
而不是嘗試:
<div ng-repeat="test in tests" ng-show="sw == test.name">
演示:http://jsbin.com/uxobot/1/
但所有的一切,我沒有看到在第二個div上需要ng-switch/ng-repeat
。下面有同樣的效果,可能是更大量的語義:
<div ng-controller="MyCtrl">
<div class="click">
<div ng-repeat="test in tests" data-ng-click="$parent.active = test">
{{test.name}}
</div>
</div>
<div class="switch">
{{active.text}}
</div>
</div>
演示:http://jsbin.com/elufow/1/
非常感謝,這正是我需要的! :) – Sylla