如何使用famo/angularreturn将fa-surface拖回原点?
How to return dragged fa-surface back to its origin using famo/angular?
我正在使用有效的 fa-draggable 指令:
<fa-modifier fa-size="[90, 90]">
<fa-draggable fa-pipe-from="item.handler"
fa-options="draggableOptions"
fa-pipe-to="item.handler">
<fa-surface fa-background-color="'#268bd2'"
fa-pipe-to="item.handler">
A
</fa-surface>
</fa-draggable>
</fa-modifier>
在我的控制器中我设置:
$scope.draggableOptions = {
xRange: [-4, 4],
yRange: [-4, 4]
};
$scope.item.handler = new EventHandler();
$scope.item.handler.on('end', function (e) {
//return somehow to default position
});
如何确保拖动事件完成后,可拖动表面返回到默认位置?
我找到了这个问题Drag a Famous surface and have it transition back to origin on mouseup?
但我不知道如何在我的案例中使用 "setPosition" 函数?
我上次使用Famous/Angular时遇到了类似的问题,结果没有使用可拖动表面。
如果你看看the documentation,其实没什么用。
顺便说一句,你可以试试这个:
<fa-modifier fa-size="[90, 90]" fa-translate="item.position.get()">
<fa-draggable fa-pipe-from="item.handler"
fa-options="draggableOptions"
fa-pipe-to="item.handler">
<fa-surface fa-background-color="'#268bd2'"
fa-pipe-to="item.handler">
A
</fa-surface>
</fa-draggable>
</fa-modifier>
并在您的控制器中
var _initialState = [0, 0, 0]; //This should be your initial state
$scope.item.position = new Transitionable(_initialState); // This define item.position as a Transitionable object
$scope.item.handler.on('end', function (e) {
$scope.item.position.set(_initialState);
});
这个我没试过,现在也没时间做,希望这个建议能帮到你。
更新
这里是 an example 使用 draggable 指令的视图。
看起来它正在做类似于我提议的事情。
您可以设置位置
$famous.find('fa-draggable')[0].modifier.setPosition([4,4])
我正在使用有效的 fa-draggable 指令:
<fa-modifier fa-size="[90, 90]">
<fa-draggable fa-pipe-from="item.handler"
fa-options="draggableOptions"
fa-pipe-to="item.handler">
<fa-surface fa-background-color="'#268bd2'"
fa-pipe-to="item.handler">
A
</fa-surface>
</fa-draggable>
</fa-modifier>
在我的控制器中我设置:
$scope.draggableOptions = {
xRange: [-4, 4],
yRange: [-4, 4]
};
$scope.item.handler = new EventHandler();
$scope.item.handler.on('end', function (e) {
//return somehow to default position
});
如何确保拖动事件完成后,可拖动表面返回到默认位置?
我找到了这个问题Drag a Famous surface and have it transition back to origin on mouseup? 但我不知道如何在我的案例中使用 "setPosition" 函数?
我上次使用Famous/Angular时遇到了类似的问题,结果没有使用可拖动表面。
如果你看看the documentation,其实没什么用。
顺便说一句,你可以试试这个:
<fa-modifier fa-size="[90, 90]" fa-translate="item.position.get()">
<fa-draggable fa-pipe-from="item.handler"
fa-options="draggableOptions"
fa-pipe-to="item.handler">
<fa-surface fa-background-color="'#268bd2'"
fa-pipe-to="item.handler">
A
</fa-surface>
</fa-draggable>
</fa-modifier>
并在您的控制器中
var _initialState = [0, 0, 0]; //This should be your initial state
$scope.item.position = new Transitionable(_initialState); // This define item.position as a Transitionable object
$scope.item.handler.on('end', function (e) {
$scope.item.position.set(_initialState);
});
这个我没试过,现在也没时间做,希望这个建议能帮到你。
更新
这里是 an example 使用 draggable 指令的视图。
看起来它正在做类似于我提议的事情。
您可以设置位置
$famous.find('fa-draggable')[0].modifier.setPosition([4,4])