首先,让我解释一下我正在寻找的效果:
布局:
效果
现在,我已经编写了angular-js代码来实现这一目标。我不是在寻找如何来实现效果的答案。相反,我想知道逻辑的最佳方式来实现这种效果,因为我认为我的方式可以改进。
最后,这是我使用的逻辑:
我认为我编写它的方式非常笨拙和混乱,我想对是否有更好的方法来评估此功能的逻辑。再一次,我不寻找代码。我只是想看看是否有更好的逻辑。
答案 0 :(得分:0)
我会为每个输入分配ng-model。然后每个标题有三个div,每个标题引用所需的ng-model(choice1,choice 2和both)。然后我会在三个div中的每一个上使用ng-if来测试ng-model是否为任何一个选择都是空的。
答案 1 :(得分:0)
ng-switch-when
区块中只有2个'div'。 choice1
和choice2
是ng-model
ng-switch on
检查choice1
或choice2
是否为空字符串。这意味着:choice1
不为空,或choice2
不为空,或choice1
和choice2
不为空 ng-switch-when = true
然后呈现。请注意,至少输入了一个选项。
<div>
<h2> Choose between {{choice1 === "" ? "____" : choice1}} and {{choice2 === "" ? "..." : choice2}} </h2>
</div>
ng-switch-default
会将标头呈现为Choose between ...
编辑:
实际上,我认为最好让div
作为ng-switch
之外的包装器,然后只渲染内部元素。似乎无论输入的值如何,您都将始终显示标题。