我对角度很陌生,所以请原谅我缺乏理解。
我有一个名为“可拖动”的指令,我希望能够在控制器中跟踪它的 x 位置并对其执行一些逻辑。当用户向右拖动元素(简笔画)时,其他简笔画应该直接出现在它的后面。控制器应该知道 x 位置并根据它的位置增加一个计数器,该计数器将指示在可拖动元素后面出现的棒图的数量。
此代码当前不起作用,因为控制器没有收到 x 的值。
我的指令:
app.directive('draggable', function() {
return {
restrict: 'A',
scope: "=x",
link: function (scope, element, attrs) {
$(element).draggable({
containment: "parent",
axis: "x",
drag: function(){
scope.x = $(this).offset().left;
}
});
}
};
});
我的控制器:
app.controller("main-controller", function($scope) {
$scope.range = function(n) {
return new Array(figures);
};
$scope.$watch("x", function(){
console.log($scope.x);
figures = x / (stick_figure_height)
});
});
我的 HTML:
<div class="human-slider" ng-controller="main-controller">
<div draggable class="human-draggable">
<img src="images/stickfigure.png"/>
</div>
<div ng-repeat="i in range()">
<img src="images/stickfigure.png"/>
</div>
</div>