我做了一个自定义的Lime JS sprite类:
test.obj = function() {
lime.Sprite.call(this);
.
.
this.label = new lime.Label(). ...;
this.appendChild(this.label);
}
goog.inherits(test.obj, lime.Sprite);
Run Code Online (Sandbox Code Playgroud)
我无法让标签点击冒泡到根程序; 它总是吞下事件.是否有一些特殊的东西要点击标签以冒泡到我的根事件处理程序,这是:
goog.events.listen(objinstance, ["click", "touchstart"], function() { .. });
Run Code Online (Sandbox Code Playgroud) 对于我正在开发的项目,我一直在使用JavaScript库的大杂烩.我的代码的主要逻辑分解为多个commonjs模块.我使用谷歌闭包将模块组合成一个输出js文件,我在我的AngularJS应用程序中使用.
我遇到的问题是尝试用testacular进行测试.我收到的错误是Uncaught ReferenceError: require is not defined
.它正在发生,因为与谷歌关闭不同,testacular不了解commonjs模块.我可以做几个工作,但我希望无需重构我的代码就可以使它工作.
有没有其他人遇到过类似的问题?我愿意尝试不同的事情; 我只是不想要任何hacky.
javaclassstreamreader.spec.js:
"use strict"
var JavaClassStreamReader = require('../javaclassstreamreader.js').JavaClassStreamReader;
describe('javaclassstreamreader', function() {
it('reader can be constructed', function() {
var dataView = {
byteLength : 0
};
//FIXME load dataView
var reader = new JavaClassStreamReader(dataView);
expect(reader.dataView).toBe(dataView);
expect(reader.offset).toBe(0);
expect(reader.maxOffset).toBe(0);
});
});
Run Code Online (Sandbox Code Playgroud)
javaclassstreamreader.js:
function JavaClassStreamReader(dataView, initialOffset, maxBytesToRead) {
this.dataView = dataView;
this.offset = initialOffset || 0;
this.maxOffset = this.offset + (maxBytesToRead || this.dataView.byteLength);
}
//... code trucated ...
Run Code Online (Sandbox Code Playgroud) javascript google-closure-library commonjs angularjs karma-runner
domA.style.display ="none"; domA.style.display ="block;
我在图书馆找不到这样的功能,但我猜他们必须在某个地方找到它.
如果您不关心缩小代码,有没有办法开始使用Google Closure库而无需设置subversion客户端并使用编译器?Google网站上的记事本示例程序是指
<script src="closure-library/base.js" > </script >
你能简单地在某处下载closure-library/base.js并开始玩UI示例吗?该封闭精简版快速入门版本不会出现包括goog.ui
我最近切换到谷歌关闭一个新项目.我在向ajax调用中的标头添加真实性令牌时遇到问题.我该怎么做呢?
我的Ajax片段(使用goog.net.XhrIo类):
var initialHTMLContent = superField[i].getCleanContents();
var data = goog.Uri.QueryData.createFromMap(new goog.structs.Map({
body: initialHTMLContent
}));
goog.net.XhrIo.send('/blogs/create', function(e) {
var xhr = /** @type {goog.net.XhrIo} */ (e.target);
alert(xhr.getResponseXml());
}, 'POST', data.toString(), {
'Accept' : 'text/xml'
});
Run Code Online (Sandbox Code Playgroud)
在后端使用导轨.
更新:
日志:
Processing BlogsController#create (for 127.0.0.1 at 2010-06-29 20:18:46) [PUT]
Parameters: {"authenticity_token"=>""}
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Rendered rescues/_trace (272.4ms)
Rendered rescues/_request_and_response (1.2ms)
Rendering rescues/layout (unprocessable_entity)
Run Code Online (Sandbox Code Playgroud) 我试图用一个简单的clojurescript应用程序从localStorage中提取一个整数.我尝试的所有东西最终都尝试了某种错误的行为.
以下是我的程序,没有从本地存储初始化.我会忽略未找到密钥的情况,因为我有一个JQuery版本可以处理它来填充存储空间.此外,JQuery应用程序读取ClojureScript保存到localStorage很好.这对我有用.
快速总结是这样的.我的消息说"自上次事件发生以来已有数天",$ number位于一个名为"counter"的div中.我有三个按钮; 一个递增计数,一个递减计数,最后一个将计数重置为零.
(ns days.core
(:require [goog.events :as events]
[goog.string :as string]
[goog.math.Integer :as int]
[goog.dom :as dom]))
(defn initial-state [] 0)
(def count (atom (initial-state)))
(defn set-counter [n]
(do (.setItem (.localStorage (dom/getWindow)) "count" n)
(dom/setTextContent (dom/getElement "counter") n)))
(defn set-button-fn [button-id f-update]
(events/listen (dom/getElement button-id)
"click"
(fn [] (do (f-update) (set-counter @count)))))
(defn start-app []
(do
(set-counter @count)
(set-button-fn "addDay" (fn [] (swap! count inc)))
(set-button-fn "decDay" (fn [] (swap! count dec)))
(set-button-fn "reset" (fn [] (reset! …
Run Code Online (Sandbox Code Playgroud) 我有一个类,ChatRoom
它只能在收到长时间运行的HTTP请求后呈现(可能需要1秒或30秒).所以我需要延迟渲染,直到ChatRoom.json
不为空.
在下面的代码中,我正在使用Closure Library goog.async.ConditionalDelay
.它有效,但是有更好的方法(可能不需要Closure Library)吗?
ChatRoom.prototype.json = null; // received after a long-running HTTP request.
ChatRoom.prototype.render = function() {
var thisChatRoom = this;
function onReady() {
console.log("Received JSON", thisChatRoom.json);
// Do rendering...
}
function onFailure() {
alert('Sorry, an error occurred. The chat room couldn\'t open');
}
function isReady() {
if (thisChatRoom.json != null) {
return true;
}
console.log("Waiting for chat room JSON...");
return false;
}
// If there is a JSON request in progress, wait …
Run Code Online (Sandbox Code Playgroud) 2009年11月,谷歌宣布发布Closure Tools,其中包括Closure Library.
根据这篇文章,谷歌关闭库包含一些战斗硬化的部分和其他更实验性的.
有经验的人可以使用谷歌关闭共享信息哪些部分是可靠的,哪些是iffy(呃)还是没有准备好用于生产?有些演示显然不适用于最新的firefox(截至2010年1月).
有人可以向我解释Closure如何以更加用户友好的形式工作吗?它的帮助和文档使我无处可去.你如何执行一个简单的任务,如选择和修改dom(例如,在页面上选择所有并隐藏它们)?
您有任何人使用谷歌的Closure Library https://developers.google.com/closure/在Android上构建Phonegap应用程序.我已经读过Closure对应用程序的国际化有很好的支持.因此,如果任何人都可以提供他们推荐的材料或样本片段,以了解如何实现它.
javascript android internationalization google-closure-library cordova
javascript ×7
android ×1
angularjs ×1
asynchronous ×1
clojure ×1
commonjs ×1
cordova ×1
game-engine ×1
html5 ×1
karma-runner ×1
limejs ×1
plovr ×1