gpt4 book ai didi

快速渲染路径上的 meteor 错误 TypeError : dynamics. slice is not a function

转载 作者:行者123 更新时间:2023-12-01 04:36:25 24 4
gpt4 key购买 nike

每次呈现页面时我都会收到以下错误。我以前没有收到这些,它们只是一天开始,直到现在我找到的唯一解决方案是卸载快速渲染。以任何方式更改路线似乎没有任何效果。知道问题的根源是什么吗?

Error

我发现以下页面描述了类似的错误,但我在 waitOn 函数中没有 this.redirect(...) 或 Router.go(...) : https://github.com/kadirahq/fast-render#3-waiton-and-subscriptions-methods

这是帐户路由和相应 Controller 的代码:

Router.route("/account", {
name: "Account",
controller: simpleWebsiteController,
waitOn: function () {
return [
Meteor.subscribe("userData"),
Meteor.subscribe("userMessages")
]
},
data: function () {
var messages = Collections.Messages.find({userId: Meteor.userId()},{sort: { creationDate: -1 }});
var posts = Collections.Posts.find({});
var comments = Collections.Comments.find({});
return {
content: "page-account",
userMessages: messages,
userComments: comments,
userPosts: posts
};
},
onBeforeAction: function () {
// If the user is not logged in, redirect to login page
var path = this.location.get().path;
if (!Meteor.userId() && path.indexOf("/login") != 0)
this.location.go("/login");
else
this.next();
}
});

Controller :

var simpleWebsiteController = RouteController.extend({
layoutTemplate: "MainLayout",
waitOn: function () {
return [
Meteor.subscribe("userData"),
Meteor.subscribe("categoriesList"),
Meteor.subscribe("cityData")
]
},
onBeforeAction: function () {
// If the user is not logged in, redirect to login page
var path = this.location.get().path;
if (!Meteor.userId() && path.indexOf("/login") != 0)
this.location.go("/login");
else
this.next();
},
onAfterAction: function() {
$('.row-offcanvas').removeClass('active');
$('.collapse').removeClass('active');
},
fastRender: true
});

最佳答案

检查 this answer有关此错误原因的更多信息。


不幸的是,flow-router 作为依赖项的快速渲染包与 meteor 内部结构混淆,并且会在 meteor 的核心代码更新时破坏您的代码。

您可以克隆和编辑 kadira 的快速渲染并修复此问题。

转到项目目录下的packages文件夹

cd your_project_dir/packages/

git clone https://github.com/kadirahq/fast-render.git

然后,像第 23 行那样编辑 your_project_dir/packages/fast-render/lib/server/context.js:

// support for Meteor.user
// Fibers.current._meteor_dynamics = {};
Fibers.current._meteor_dynamics = []; // <-- Fixed

现在这将覆盖 kadira 的 v2.16.0 快速渲染包。

关于快速渲染路径上的 meteor 错误 TypeError : dynamics. slice is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45620780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com