javascript - 这是根据 angularjs 中的根组织显示和隐藏 html 的代码的好方法吗

标签 javascript angularjs

我正在使用 Angular 进行测验。我有问题/#/questions/1

的根

我有 6 个问题,根据 root 我显示和隐藏问题的 html...目前我的代码如下所示

模板

<section ng-class="{active:isActive(1)}">
    Pitanje 1
</section>
<section ng-class="{active:isActive(2)}">
    Pitanje 2
</section>
<section ng-class="{active:isActive(3)}">
    Pitanje 3
</section>
<section ng-class="{active:isActive(4)}">
    Pitanje 4
</section>
<section ng-class="{active:isActive(5)}">
    Pitanje 5
</section>
<section ng-class="{active:isActive(6)}">
    Pitanje 6
</section>

问题 Controller

$scope.isActive = function(question) {
    return question === Number($routeParams.id);
}

有没有办法不使用节的硬编码索引?或者更像 jQuery 索引的东西...

最佳答案

为什么不使用 ng-repeat$index 来设置它?

在 Controller 中添加类似的内容

$scope.questionsNumber = new Array(6)

并在模板中更改为(伪代码,未测试,请检查 ng-repeat 文档以了解详细信息):

   <section ng-repeat="i in questionsNumber track by $index" ng-class="{active:isActive($index)}">
       Pitanje {{$index}}
   </section>

您可能想要/需要使用函数而不是 questionsNumber,如本 question 中所述。

关于javascript - 这是根据 angularjs 中的根组织显示和隐藏 html 的代码的好方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24222830/

相关文章:

javascript - 简单的 jQuery addClass() 似乎不起作用

javascript - 过滤对象数组

javascript - 在 NgMap - Google map 中显示和隐藏绘图控件

javascript - Angular ui-select array of objects - 第一项不可选择

Javascript,一个带有回调处理程序的对象,如何将其重写为await/async风格?

javascript - 使用 javascript/css 切片图像

javascript - 禁止将节点拖动到 cytoscape.js 中的区域之外

angularjs - 使用 AngularJs 在 ngTable 中自定义排序

angularjs - mddialog 中的 ng-repeat 重复多次

javascript - Angularjs:如何将 CSS 属性应用于由 ng-repeat 指令生成的单个元素