使用ng-switch和AngularJS中的Select标签可能存在的错误

时间:2012-11-21 18:40:41

标签: angularjs

设置一次后,我与ng-switch一起使用的Select标签无法正常显示也无法正常工作。

                <select ng-model="visuals" ng-options="visual for visual in visuals">                      

参见JSFiddle: http://jsfiddle.net/timothybone/UaFuc/3/

提前致谢!  :d

1 个答案:

答案 0 :(得分:2)

您不应该使用ng-model绑定visuals,因为它是项目列表。设置它将替换所选项目(列表中的字符)的列表值。引起奇怪的行为。

<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>

如果你想使用ng-bind-html-unsafe设置HTML的内容,你应该提供一个变量作为参数(不知道如何以这种方式注入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/