2

我一直在寻找一种基于选择显示 HTML 内容块的方法。

我不喜欢用ng-include这个。我看着ng-ifng-show/hide

我想这样做ng-switch,在这个演示中它似乎工作......但不是在我的代码中,有什么建议吗?

HTML:

<select ng-change="selectedAction(selectedType)" 
        ng-model="selectedType" 
        ng-options="type.name for type in relationshipType">

    <option value="">-- Select item --</option>

</select>

<div ng-switch on="selectedType">
    <span ng-switch-when="king">
       King Julien
    </span>
    <span ng-switch-when="Feet">
       Mort
    </span>
</div>

控制器:

$scope.relationshipType = [{name:'king'},{name:'feet'}];
4

1 回答 1

3

你写type.name for type in relationshipType。这将选择整个对象,例如{name:'feet'}与字符串不同的对象feet。尝试:

<div ng-switch on="selectedType.name">
    <span ng-switch-when="king">
    ...

此外,比较是区分大小写的,所以:

<span ng-switch-when="feet">

(小写 f,在模型中定义)

于 2013-10-14T09:20:04.507 回答