问题标签 [joose]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Joose 单例初始化参数
我有一个基于 Joose 的单例类,我想向它添加初始化参数,如下所示:
tabContainer 也被声明为单例的属性。
在我的 after 方法修饰符初始化方法中,我跟踪查看传入的参数是否像这样读取:
但是警报会产生给定的默认值,而不是我传递给它的初始化值。
知道如何将参数传递给 Joose 中的单例吗?
我在 Joose 中使用常规类定义测试了同样的东西,上面的代码提醒了正确的参数。
javascript - 如何在没有庞大回调链的情况下使用异步 ORM?
我正在使用相对不成熟的 Joose Javascript ORM 插件(项目页面)在 Appcelerator Titanium(公司页面)移动项目中保留对象。由于它是客户端存储,因此应用程序必须在启动 ORM 之前检查数据库是否已初始化,因为它会检查 DB 表以构造类。
我的问题是这一系列操作(如果这个操作是这样的,其他的事情在路上)需要很多回调才能完成。我在代码中有很多对维护者不明显的跳转,并导致一些复杂的调用图等等。所以,我问这些问题:
- 您将如何异步初始化数据库并使用需要架构正确才能运行的 ORM 使用种子数据填充它?
- 对于异步/事件驱动编程并保持调用图简单易懂,您有任何通用策略或链接吗?
- 您对使用 HTML 5 作为存储引擎并希望与框架无关的 Javascript ORM/元对象系统有什么建议吗?
- 我只是一个大新手,应该能够轻松解决这个问题吗?
谢谢各位!
javascript - 如何在 Javascript 中动态设置函数/对象名称,因为它在 Chrome 中显示
这是 Google Chrome 调试器一直困扰着我的问题,我想知道是否有办法解决它。
我正在开发一个大型 Javascript 应用程序,使用大量面向对象的 JS(使用Joose框架),当我调试我的代码时,我的所有类都被赋予了一个无意义的初始显示值。要了解我的意思,请在 Chrome 控制台中尝试以下操作:
输出应该是单行,您可以展开它以查看 的所有属性myObj
,但您首先看到的只是▶ F
.
我的问题是,由于我的 OO 框架,每个实例化的对象都有相同的 'name'。它看起来负责这个的代码是这样的:
这意味着在调试器中,初始视图始终是▶ f
.
现在,我真的不想更改Joose如何实例化对象(getMutableCopy...?)的任何内容,但如果我可以添加一些内容以便提供我自己的名称,那就太好了。
我看过的一些东西,但无法获得:
perl - Perl:Javascript::V8 模板 - 来自 perl
寻找像 HTML::Mason(或 Mason)这样的模板引擎,所以什么将源组件“编译”成 perl 代码,而不是 perl-code 将“编译”组件成 JavaScript 代码并在使用 Javascript::V8 运行/执行它们之后perl 模块。
动机:寻找安全模板语言的解决方案,什么可以在不影响服务器安全的情况下编辑用户。JavaScript 是功能齐全的语言,因此使用它可能比一些“迷你语言”(如 TT 或类似语言)更好/更快。对我来说最好的是 Mason 的扩展(重写),用于编译成 Joose/JavaScript 而不是 Moose/Perl。;)
是的,想要使用 Javascript::V8 从 perl 执行此操作,因为这种方式可以通过 Javascript::V8 $context->bind_function 以非常安全的方式获得所有 perl 的功能。
问题:
- 有人知道类似的东西吗?(在 CPAN 中一无所获)...
编辑:在梅森你可以写例如
如果有可能在 JS 中编写上述内容,那就太好了,例如:
上述源代码应“编译”成 JavaScript (Joose),并使用 Javascript::V8 执行。(就像在 Mason 中一样——源代码被编译成 perl/Moose 对象并用 perl 执行)......
如您所见,它for(var i in list)
是用纯 JS 编写的,而不是用“迷你语言”编写的……</p>
node.js - joose/javascript 基于 mason2 之类的服务器端模板
是否存在类似Perlish Mason2的 node.js 模板?意味着具有以下功能的东西:
- 基于组件的架构(!!!)(带有自动处理程序,dhandlers (Base.mc))
- 即时将源代码(组件)编译成功能齐全的joose (javascript) 对象
- 插件(缓存等)
javascript - 引用外部对象的 Javascript 范围
基本上,我使用一个名为Joose for Javascript的元类框架,它允许我使用更优雅的类语法——但我不知道如何从类的更深层次的方法中引用对象的范围宣言。我还使用 require.js 进行依赖管理...
这是一个示例类定义:
好的,所以我的问题是 - 在 AJAX 函数中,我必须编写 var self = this 才能让我的对象进入 AJAX 调用的范围 - 没问题。但是,我发现自己几乎对我的类声明中的每一个方法都这样做了!如何以干净有效的方式在所有方法中引用 self ?我知道您可以通过设置参数在 AJAX 中使用作用域,假设它不仅仅是 AJAX,而是其他将作用域关闭到外部的函数。
谢谢。
javascript - 在不同的 src="..." 文件中获取 Joose 2 类以在 MSIE 8 及更低版本中工作
此页面为 Freecell 实现了基于 JavaScript 的在线求解器,但在我的 Windows XP 32 位虚拟机上的 Microsoft Internet Explorer 8(可能更低)中不起作用。它在同一虚拟机上的 Firefox 以及我的 x86-64 Mageia Linux 3 系统上的 Firefox 17.0.2 ESR、Opera 和 Google Chromium 上运行良好。
重现:
在交易编号中键入“2”。
按“填充”。
按“解决”。
MSIE 8 抛出一个合适的并声称“FC_Solve”没有定义,但它在http://www.shlomifish.org/fc-solve-temp/js/web-fc-solve.js中,它包含在它上面并且使用脚本获取。
我希望我可以在该页面中放弃对旧版本 MSIE 的支持,但我希望它尽可能地防白痴,因为这是我创建在线、基于 JavaScript 的求解器版本的动机的一部分,这是用 C 编写的。那是因为有些人要求我手动解决他们的交易,因为他们缺乏自己安装和运行我的求解器的专业知识。
我该如何解决?
meteor - 将 Joose 与 Meteor 一起使用
将 Joose 与 Meteor(或 Meteorite)一起使用的最佳方法是什么?
如果我加载 joose-all.min.js,我只能设法让 Joose 工作,但这似乎不允许我使用其他 Joose 库(特别是 JoosX-Attribute)。
我也尝试过创建一个包含在它的 package.js 文件中的包
但这只会导致流星无法启动并出现以下错误
有什么建议让我去吗?