微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – angular-ui-layout – 添加拖动结束/面板调整大小的事件

我正在使用 angular-ui-layout plugin

链接是源代码,在第211行有以下代码来处理mouseup:

htmlElement.on('mouseup touchend',function () {
      htmlElement.off('mousemove touchmove');
    });

我需要在那里打回一个回调:

htmlElement.on('mouseup touchend',function () {
       htmlElement.off('mousemove touchmove');
       scope.onDragEnd();
    });

为了在插件外响应此事件:

<div ui-layout on-drag-end="vm.layoutResized()"> ... </div>

但是,我似乎无法对vm.layoutResized()进行必要的更改.

我尝试在一个或两个指令的范围内添加如下内容

scope: {
          onDragEnd: '&'
      }

但是没有调用vm.layoutResized().有人可以查看链接源并告诉我如何通过嵌套范围传递此函数,以便在我调用它的地方定义它?

解决方法

您将不得不修改angular-ui-layout插件/指令

在uiLayoutCtrl中添加一个函数,该函数应该在内部调用一个指令级范围变量,并且应该实际执行layoutResize.

//Method called from actual resize event
  triggerResize: function (eve) {
      $scope.resize(eve);
  }


//External facing method that will be called
  scope: {
      'resize': '&onResize'
  },//Usage
<div ui-layout on-resize="Resizefn()">

演示:http://jsfiddle.net/sjsingh/DJqfZ/1/

在此链接添加了更新的angular-ui-layout代码.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐