【发布时间】:2015-07-29 13:47:39
【问题描述】:
我的问题不是关于编程技巧,而是关于 lib 文件和框架文件。例如,我已经有:jquery.js 和 jquery.ui.js,在 <header> 块中声明。
假设我在 JavaScript 文件中定义了一些东西,如下所示:
define("app/ui/dialogs/delete_tweet_dialog", ["module", "require", "exports", "core/component", "app/ui/with_dialog", "app/ui/dialogs/with_modal_tweet"], function(module, require, exports) {
function deleteTweetDialog() {
this.defaultAttrs({
cancelSelector: ".cancel-action",
deleteSelector: ".delete-action"
}), this.openDeleteTweet = function(a, b) {
this.attr.sourceEventData = b, this.displayTweet(b.tweetId, {
modal: "delete"
}), this.id = b.id, this.open()
}, this.deleteTweet = function() {
this.trigger("uiDidDeleteTweet", {
id: this.id,
sourceEventData: this.attr.sourceEventData
})
}, this.deleteTweetSuccess = function(a, b) {
this.trigger("uiDidDeleteTweetSuccess", this.attr.sourceEventData), this.close()
}, this.restoreFocusToTweet = function(a) {
$(a.target).is(this.$dialog) && this.activeEl && this.trigger($(this.activeEl).closest(".tweet"), "uiShouldAddFocusStyle")
}, this.after("initialize", function() {
this.on("click", {
cancelSelector: this.close,
deleteSelector: this.deleteTweet
}), this.on(document, "uiOpenDeleteDialog", this.openDeleteTweet), this.on(document, "dataDidDeleteTweet", this.deleteTweetSuccess), this.on(document, "uiDialogRestorePreviousFocus", this.restoreFocusToTweet), this.on(document, "uiCloseDeleteTweetDialog", this.close)
})
}
var defineComponent = require("core/component"),
withDialog = require("app/ui/with_dialog"),
withModalTweet = require("app/ui/dialogs/with_modal_tweet"),
DeleteTweetDialog = defineComponent(deleteTweetDialog, withDialog, withModalTweet);
module.exports = DeleteTweetDialog
});
- 我需要什么才能使上述代码工作?
- jQuery.js 是单独提供[模块、要求、导出],还是需要添加其他东西?
- 一旦我做了一个与这个类似的定义,我怎么能从其他代码中调用它?
我发现了这个:
定义( module_id /可选/, [依赖项] /可选/, 定义函数/用于实例化模块或对象的函数/ );
来自:http://addyosmani.com/writing-modular-js/
但是,我仍然不明白如何调用定义?谷歌上没有教程。
【问题讨论】:
-
你应该在这里阅读:stackoverflow.com/help/how-to-ask。 Stackoverflow 不是教学服务,它是用于解决代码中的问题。发布一堆代码,而没有任何暗示您要实现什么或问题是什么,这将使任何人都很难提供帮助。
-
上面的代码很容易理解。问题在于,要使上述自定义定义在您的其余代码中起作用,需要什么。
-
您似乎在尝试使用require.js
-
@k0pernikus,这个文件有必要吗?
-
您发布的整个代码示例看起来像 require.js。它不仅是要添加的文件,更是您必须首先了解的代码范例。关注文档。
标签: javascript jquery