app.directive('copyPost', ['$window', '$filter', 'ZeroClipboardPath', function ($window, $filter, ZeroClipboardPath) {
return {
scope: {
postFn: '&',
postSuccess: '&',
},
restrict: 'A',
terminal: true,
prioriry: 10,
link: function (scope, element, attrs) {
scope.disaplyValue = 'Copy';
ZeroClipboardPath = 'lib/zeroclipboard/ZeroClipboard.swf';
var clip = new ZeroClipboard( $(element), {
moviePath: ZeroClipboardPath
});
clip.on('dataRequested', function(client, args) {
scope.postFn().then(function(data){
client.setText(data.data[0].external_url);
scope.postSuccess();
});
});
}
}
}]);
创建此指令的多个实例使swf对象仅针对整个应用程序上的第一个实例触发事件(复制了相同的链接)。
显然我有多个链接,我希望我的用户可以在我的应用程序中复制。
非常感谢任何帮助