Javascript 流星助手已经跑了
如何检查所有流星助手是否已运行 当我使用这段代码时,我会得到一个新的空div。当我从呈现函数中删除代码并从控制台运行它时,一切正常Javascript 流星助手已经跑了,javascript,jquery,meteor,meteor-blaze,Javascript,Jquery,Meteor,Meteor Blaze,如何检查所有流星助手是否已运行 当我使用这段代码时,我会得到一个新的空div。当我从呈现函数中删除代码并从控制台运行它时,一切正常 Template.CasesShow.helpers({ value: function (n) { if (this.data) { var result = this.data.filter(function (obj) { return obj.name == n; }); if (result
Template.CasesShow.helpers({
value: function (n) {
if (this.data) {
var result = this.data.filter(function (obj) {
return obj.name == n;
});
if (result && result[0])
return result[0].value;
}
}
});
Template.CasesShow.rendered = function () {
$(document).ready(function () {
$textarea = $('[name=1]');
var content = $textarea.val().replace(/\n/g, '<br />');
$textarea.replaceWith($('<div class="box">' + content + '</div>'));
});
};
<template name="CasesShow">
<textarea class="w-input box" placeholder="{{_ 'laborauftrag.praxis'}}" name="1" data-name="1">{{value 1}}</textarea>
</template>
Template.CasesShow.helpers({
值:函数(n){
如果(这个数据){
var结果=this.data.filter(函数(obj){
返回obj.name==n;
});
if(结果和结果[0])
返回结果[0]。值;
}
}
});
Template.CasesShow.rendered=函数(){
$(文档).ready(函数(){
$textarea=$('[name=1]');
var content=$textarea.val().replace(/\n/g,
);
$textarea.replace为($(''+内容+'');
});
};
{{value 1}}
所以我认为Meteor还没有插入值,这很奇怪,因为它当时不应该运行渲染函数,对吗
如何确保Meteor已运行帮助程序?
Template.rendered=func
将在模板的帮助程序之前运行一次(并且在路由提供数据之前很久)。使用template.rendered
函数时,模板不起作用,因为在呈现函数中,您用div替换textarea,而在helper中,您返回的是在textarea上设置的不再存在的值(因为template.CaseShow.rendered
已将其替换为
)
若你们能提供更多关于你们在这里想要达到的目标的细节,我们就能解决这个问题。你们现在所知道的是流星的预期行为
如果您希望在div中显示内容,但在将/n
替换为
之后,我相信您可以通过在模板帮助程序中的数据上执行regexp来实现这一点。放置控制台.log(“激发值帮助程序”);
并对执行同样的操作。呈现的控制台.log(“模板渲染”);
代码将登录到客户端浏览器控制台。对于chrome,我右键单击浏览器并选择inspect元素。然后从日志数组中选择console。客户端js代码如下所示:
Template.CasesShow.helpers({
value: function (n) {
console.log("FIRED VALUE HELPER");
Template.CaseShow.rendered = function () {
console.log("FIRED RENDERED");
如果您在客户端浏览器控制台中看不到日志,则不会调用helper/rendered函数。textarea变量名前的$符号有什么作用?告诉我它是一个jQuery对象。想法来自于此:您可以为正在使用的模板发布HTML吗。我相信helper
将在之后运行dered
,因为呈现只关心模板中的基本HTML。我觉得很奇怪,你会在呈现的
@Shaded中注入HTML,我更新了我的帖子,所以这里的最终目标是有类似{value 1}
?