visuals
アイテムのリストであるため、ng-modelを使用してバインドしないでください。これを設定すると、リスト値が選択した項目(文字のリスト)に置き換えられます。奇妙な行動を引き起こします。
<select ng-model="item" ng-options="visual for visual in visuals">
この新しい変数は、スコープで宣言する必要があります。また、初期値を設定するためにも使用されます。
$scope.item = 'none';
スイッチの使用法も間違っていました。スイッチングブロックに条件を含める必要があります。
<div ng-switch on="item">
<span ng-switch-when="lots">Youtube</span>
<span ng-switch-default></span>
</div>
を使用してHTMLのコンテンツを設定する場合はng-bind-html-unsafe
、パラメーターとして変数を指定する必要があります(その方法でJavaScriptを挿入する方法がわかりません)。
<span ng-switch-when="lots" ng-bind-html-unsafe="youtube">Could not evaluate 'youtube' variable</span>
その後、スパンコンテンツが置き換えられます。もちろん、HTMLコンテンツを保持するには、スコープ内に新しい変数を定義する必要があります。
$scope.youtube = "<hr/>This is an HTML content<hr/>";
jsFiddleを更新しました:http://jsfiddle.net/PMpLa/4/