通过angularjs拖动动态更改模板

dynamically change template by dragging with angularjs

本文关键字:动态 angularjs 拖动 通过      更新时间:2023-09-26

我在我的应用程序中有以下设置:http://plnkr.co/edit/I2RCjYU17SDX65thUUqD?p=preview

<div class="container-fluid">
<div class="row-fluid">
    <div class="col-xs-7">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <div class="panel-title">
                    Panel 1
                </div>
            </div>
            <div class="panel-body" style="height: 250px;">
              Panel 1
            </div>
        </div>
    </div>
    <div class="col-xs-5">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <div class="panel-title">
                    Panel 2
                </div>
            </div>
            <div class="panel-body" style="height: 250px;">
              Panel 2
            </div>
        </div>
    </div>
</div>

<div class="row-fluid">
    <div class="col-xs-7">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <div class="panel-title">
                    Panel 3
                </div>
            </div>
            <div class="panel-body" style="height: 250px;">
              Panel 3
            </div>
        </div>
    </div>
    <div class="col-xs-5">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <div class="panel-title">
                    Panel 4
                </div>
            </div>
            <div class="panel-body" style="height: 250px;">
              Panel 4
            </div>
        </div>
    </div>
</div>

我想做的是能够通过拖动面板重新排序。例如,我希望能够将面板1拖到右下角,并与面板4交换位置。我对angularjs比较陌生,我不知道如何解决这样的问题。

我最初的想法是为每个可能的面板组合创建一个不同的模板,并动态地包括我设置的变量的模板,但是这将需要有16个不同的模板,我觉得必须有一个更好的解决方案

你可以在Angularjs中使用外部依赖项(Angular-dragdrop)。给每个画布一个序列,当你在其他地方拖动画布时,按序列重新排序。

在这里您可以找到更多信息:http://codef0rmer.github.io/angular-dragdrop/#/