1

似乎无法在我的简单 Meteor 剪贴板应用程序中使用 zclip:http: //commandc.meteor.com

我认为我在流星如何加载 jquery、zclip 和复制脚本方面遗漏了一些东西,所以我将所有内容都移到了 html 中并使用了外部资源。尽管如此,复制不起作用。非常相似的代码在这里工作:http: //jsbin.com/uladis/7/edit

PS:我知道我在复制正确元素的文本而不是所有 p 标签时遇到了另一个问题。还不担心这个。

编辑:使用下面的 Akshat 方法会为每个副本实例提供此异常:

Exception from Meteor._atFlush: TypeError: Object [object Object] has no method 'zclip' at Object.Template.copy.rendered (http://localhost:3000/command-c.coffee.js?78eccd42fde3d566da961e73c1ab9f4ad83a4e26:18:35) at Spark.createLandmark.rendered (http://localhost:3000/packages/templating/deftemplate.js?91fdd4353cca922f7a59ff593d000211c2857c84:125:44) at http://localhost:3000/packages/spark/spark.js?c202b31550c71828e583606c7a5e233ae9ca50e9:386:32 at Array.forEach (native) at Function._.each._.forEach (http://localhost:3000/packages/underscore/underscore.js?47479149fe12fc56685a9de90c5a9903390cb451:79:11) at http://localhost:3000/packages/spark/spark.js?c202b31550c71828e583606c7a5e233ae9ca50e9:384:7 at http://localhost:3000/packages/deps/deps-utils.js?f3fceedcb1921afe2b17e4dbd9d4c007f409eebb:106:13 at http://localhost:3000/packages/deps/deps.js?1df0a05d3ec8fd21f591cfc485e7b03d2e2b6a01:71:15 at Array.forEach (native) at Function._.each._.forEach (http://localhost:3000/packages/underscore/underscore.js?47479149fe12fc56685a9de90c5a9903390cb451:79:11)

4

1 回答 1

1

我从来没有使用过 Zclip,所以希望对我有帮助,包括其他正确的元素问题:

使用时, <.. id='..'您需要确保每个都是唯一的,否则 DOM 会中断:而不是<p id="copy">使用类似的东西<p id="{{_id}}" class="copy">

我尝试访问模板数据this.data

Template.copy.rendered = function() {
       $('#' + this.data._id).zclip({
           path:"http://www.steamdev.com/zclip/js/ZeroClipboard.swf",
           copy:this.data.name
       });
    }
}

所以每次复制点击作品都使用这种风格的模板

HTML:

我已拆分列表,以便副本位于其自己的模板中,因此上面呈现的函数可以获得自己的数据上下文

<template name="list">
    {{#each copies}}
       {{>copy}}
    {{/each}
</template>

<template name="copy">
    <p id="{{_id}}" class="copy">{{name}}</p>
</template>

编辑

1)使用 Meteor 添加 JQuery 而不是<script>使用流星包:在您的项目目录中添加 JQuery:

meteor add jquery

2) 将http://www.steamdev.com/zclip/js/jquery.zclip.min.js中的文件添加到项目中的文件夹中client/lib

发生错误是因为 zclip 尚未加载。

于 2013-03-09T22:19:24.737 回答