我试图理解这个关于这个概念的帖子,但是,我没有得到它.我有以下简单的设置:
/server/test.js
Meteor.methods({
abc: function() {
var result = {};
result.foo = "Hello ";
result.bar = "World!";
return result;
}
});
/client/myapp.js
var q = Meteor.call('abc');
console.log(q);
Run Code Online (Sandbox Code Playgroud)
此结构返回到控制台undefined.
如果我将myapp.js文件更改为:
Meteor.call('abc', function(err, data) {
!err ? console.log(data) : console.log(err);
}
Run Code Online (Sandbox Code Playgroud)
我收到了Object我的控制台.
理想情况下,这是我希望能够做到的,但它不起作用,在控制台中说明: Cannot read property 'greeting' of undefined
/client/myapp.js
var q = Meteor.call('abc');
Template.hello.greeting = function() {
return q.foo;
}
Run Code Online (Sandbox Code Playgroud)
将数据从服务器对象传递到模板的任何帮助将不胜感激.我还在学习JavaScript和Meteor.
谢谢!
继我之前关于使用Meteor.call从服务器上的对象获取数据的帖子之后,我想知道一旦收到来自服务器的类似对象数据,这些相同的数据如何呈现HTML.这是一个简单的例子:
/server/svr.js
Meteor.methods({
test: function(text) {
var result = {};
result.foo = "<em>" + text + "</em>";
result.bar = text;
return result;
}
});
/client/del.js
Meteor.call('test', "Hello World - May 2012", function(err, data) {
if (err)
console.log(err);
Session.set('q', data);
});
Template.hello.greeting = function() {
return Session.get('q').foo;
};
Run Code Online (Sandbox Code Playgroud)
当我在标准流星应用程序中运行此代码时,我在浏览器窗口中看到:
Hello World!
<em>Hello World - May 2012</em>
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望包含html代码的会话变量已经渲染了传递给它的(在上面的简单示例中 - 在输出到浏览器时使第二行斜体化).我该如何完成这项工作?
在此先感谢您的帮助!
我目前在一家小型非技术组织工作,并被赋予了编写组织网站的角色.虽然我很享受这项任务并且在网络开发方面学到了很多东西,但我遇到了一些问题,我希望有人可以帮助我,或者至少指出我正确的方向.
我工作的网站有子域,每个子域都有自己独立的WordPress安装 - 因为这是负责更新内容(等)的用户类型最简单的"后端"管理面板.
在组织内部,我在营销经理(MM)下工作,并根据他的风格指南和线框进行编码.
虽然我们从年初开始只使用一个子域,但项目相对简单明了.但是,最近工作流程变得有点复杂,因为我们的原始子域已被复制到其他子域.每个新子域都会对其样式表进行少量编辑(例如,背景的不同图片,此处和那里的颜色略有不同等).
目前管理所有不同的子域名一直是"可以忍受的",但是现在正在制造骆驼的吸管是MM现在已经看到最终产品所需要的轻微转变.我对样式表的逆转问题是,首席执行官将在一周内说他喜欢改变"X",然后作为MM和我继续修改网站(到现在的"Z"),将在另一周说明他希望我们将"X"更改为"W",但保留"Y"中的大部分更改.
我正在寻找的东西允许:
那里有什么能解决这些问题吗?如果是这样,什么?
谢谢你的帮助!
PS - 我现在正在学习Git,它似乎很好地完成了"跟踪文件更改".但是,还没有了解到还原变化.也许对于我的最后一点,我正在考虑创建一个shell脚本来自动将文件上传到他们的文件夹.Git也这样做吗?
附录(alexbbrown)
我遇到了类似的问题:我运行了一个自定义版本的mediawiki,我在版本化的核心中安装了各种扩展(使用svn).每个扩展都需要confit文件中的一个部分,但confit文件还需要为每个部署进行本地配置.我本可以使用包含它来实现它,但它们不会被版本化; 每次重新分支是一件苦差事.+ g经验值得到一个很好的答案.
更新:这是在Meteor v0.4(2012)之后修复的.出于历史目的:
我正在微EC2 Ubuntu 11.10实例(8GiB)上测试Meteor,并在安装它并登录后运行df命令以查看核心文件消耗了多少内存(大约10%):
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 8256952 782068 7055456 10% /
udev 295276 4 295272 1% /dev
tmpfs 121248 148 121100 1% /run
none 5120 0 5120 0% /run/lock
none 303112 0 303112 0% /run/shm
Run Code Online (Sandbox Code Playgroud)
在安装NodeJS和NPM后,我再次运行df以确定消耗了多少空间并且看起来不多(额外的2%):
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 8256952 919444 6918080 12% /
udev 295276 4 295272 1% /dev
tmpfs 121248 148 121100 1% /run
none 5120 0 5120 0% /run/lock
none …Run Code Online (Sandbox Code Playgroud)