Javascript 如何在AngularJS中交换div元素的顺序?

Javascript 如何在AngularJS中交换div元素的顺序?,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,如何使用angular的数据绑定更改div元素的顺序,包括textbox和dropdown?。div的顺序应相应更改用户登录方式如果用户类型为A,则div A应位于顶部,如果用户类型为B,则div B应位于顶部,其他div元素将位于顶部,依此类推。。这个应用程序完全是用AngularJS制作的 以下是HTML: <div id="A"> A <input type="text" ng-model="Model.AName" disabled /></div>

如何使用angular的数据绑定更改div元素的顺序,包括textbox和dropdown?。div的顺序应相应更改用户登录方式如果用户类型为A,则div A应位于顶部,如果用户类型为B,则div B应位于顶部,其他div元素将位于顶部,依此类推。。这个应用程序完全是用AngularJS制作的

以下是HTML:

<div id="A"> A <input type="text" ng-model="Model.AName" disabled /></div>
<div id="B"> B <input type="text" ng-model="Model.BName" disabled /></div>
<div id="C"> C <input type="text" ng-model="Model.CName" disabled /></div>
结果将是: C A.
要管理订单,您必须创建表示输入的数组

$scope.inputs = [
  {
    name: 'AName',
    order: 1
  },
  {
    name: 'BName',
    order: 2
  },
  {
    name: 'CName',
    order: 0
  }
];
然后使用循环显示它:

<div id="A" ng-repeat="input in inputs | orderBy: 'order'">
  {{ input.name }}
  <input type="text" disabled ng-model="Model[input.name]">
</div>

{{input.name}
这样,您可以通过更改属性
order
来管理控制器中的订单。
您可以创建条件语句,根据权限设置输入的顺序。

用户类型是
C
?A、B和C是超级管理员、管理员和用户等用户类型。orderArr是否需要这样,或者可以更改为
[{type:“A”,order:2},{type:“B”,order:3},{type:“C”,order:1}]
。这将使它变得不那么复杂。@JanP order不需要像这样。@HarshalY实际上,我确实认为这是必要的,因为您需要一些东西来订购。看看Jarek的答案,这是有道理的!但我需要的是有多个输入文本和下拉列表,我必须相应地绑定数据,如何绑定?请参见input的ng模型,您可以通过属性
名称
绑定变量。
<div id="A" ng-repeat="input in inputs | orderBy: 'order'">
  {{ input.name }}
  <input type="text" disabled ng-model="Model[input.name]">
</div>