【发布时间】:2017-06-07 06:00:41
【问题描述】:
首先解释一下我要找的效果:
布局:
- 页面顶部的标题显示“在...之间进行选择”。
- 下面有两个输入框,input1 和 input2
效果
- 如果用户首先在 input1 中的 [choice1] 中输入内容,标题会自动更新并显示“在 [choice 1] 和...之间进行选择”
- 如果用户首先在 input2 中的 [choice2] 中输入内容,标题会自动更新并显示“在 ___ 和 [choice2] 之间选择”
- 如果用户已经在一个输入中写入并开始在另一个输入中写入,标题会自动更新并显示“在 [choice1] 和 [choice2] 之间进行选择”。
现在,我已经编写了 angular-js 代码来实现这一点。我不是在寻找关于 如何 达到效果的答案。相反,我想知道实现此效果的最佳方法的逻辑,因为我认为我的做法可以改进。
最后,这是我使用的逻辑:
- 创建 4 个具有 4 个 ng-switch-when 属性的 div。每个 div 包含一个标题。第一个 div 包含标题,上面写着“在...之间选择”。第二个 div 包含标题,上面写着“在 [input1text] 和...之间选择”。第三个 div 包含一个标题,上面写着“在 ___ 和 [input2text] 之间选择”。最终 div 上写有“在 [input1text] 和 [input2text] 之间选择”。每个 div 都有一个 ng-switch-when 属性,它们分别是:“未按下”、“第一次按下”、“第二次按下”和“同时按下”
- 如果有人开始输入 input1,我会查看当前是否处于第二按状态或双按状态。如果是,我将状态设置为同时按下。否则,我将状态设置为首次按下。
- 如果有人开始输入 input2,我会查看当前是否处于第一次按下状态或同时按下状态。如果是,我将状态设置为同时按下。否则,我将状态设置为第二次按下。
我认为我编写它的方式非常笨拙和混乱,我想就是否有更好的方法来评估此功能的逻辑提出意见。同样,我不是在寻找代码。我只是想看看是否有更好的逻辑。
【问题讨论】:
标签: javascript angularjs logic