小编fun*_*eah的帖子

这个javascript正则表达式代码在处理URLS时做了什么?

我正在寻找别人的elses代码库和我作为一个javascript noob和双倍所以一个正则表达式noob我无法弄清楚以下几行:

var url = sel.anchorNode.parentNode.href;
var match = self.location.href.replace(/\/$/i, '');
var replaced = url.replace(match,'');
Run Code Online (Sandbox Code Playgroud)

我把它读作:

  1. 将var url设置为当前所选节点的父节点的href值
  2. 将var 匹配设置为浏览器当前URL,并删除尾部'/'(如果存在)
  3. 将var 替换为1.中返回的字符串,并将2.中返回的字符串从中删除

如果我正确地阅读它,我就无法弄清楚它将如何做任何事情.我能想到的情况是,当前所选节点的父节点将具有指向当前URL的href值.

所以我想我读错了.

javascript regex

3
推荐指数
1
解决办法
66
查看次数

如何在加载屏幕上使用铁路由器调试meteor/cordova app?

我有一个流星应用程序(BrewsOnTap)在部署为网站时工作正常,但是当通过cordova在Android设备上进行测试时,它会永远停留在加载屏幕上.

桌面截图

我没有看到任何相关的控制台错误或警告.如果我转到我正在为其提供应用程序的IP,即使显示正常.该应用程序正在使用iron-router和waitOn来显示加载模板,直到初始数据被加载...但显然没有发生.

建议问题可能是什么或下一步调试它?

android cordova meteor

3
推荐指数
1
解决办法
1499
查看次数

流星铁路由器并获取帐户入口包的所有路由的名称

流行的帐户入口包中有一个与铁路由器相关的错误.我相信铁路由器的后期版本改为更好地作为中间件工作,因此呼吁Router.routes

在该文件的第87行,使用以下代码:

_.each Router.routes, (route)->
  exclusions.push route.name
# Change the fromWhere session variable when you leave a path
Router.onStop ->
  # If the route is an entry route, no need to save it
  if (!_.contains(exclusions, Router.current().route?.getName()))
    Session.set('fromWhere', Router.current().path)
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎没有在Router.rou上做一个_.each是一个解决方案,因为Router.routes不会返回并且对象中包含.name属性.

你如何获得最新铁路由器的所有路线的名称?

routing middleware meteor iron-router

3
推荐指数
1
解决办法
1133
查看次数

在meteor.js中实现反应按钮的最佳方法?

假设我有一个可由用户按下的星/喜欢按钮.如果他们按下按钮,按钮应该切换状态或看起来不同,并且状态应该是持久的(如果我刷新页面保持相同的状态)和被动(假设同一个用户有两个浏览器实例打开,他们按下按钮,他们会在另一个浏览器中看到新改变的状态.

  • 我应该在我的手柄模板中使用if语句,该模板在具有不同不同按钮的两个不同跨度/ div之间进行选择吗?
  • 是否更好的是为该元素添加一个类,并为该类的按钮提供不同的css,有些人将添加的类推送回服务器和其他客户端?
  • 其他一些推荐路线?

javascript css meteor

2
推荐指数
1
解决办法
1406
查看次数

Meteor js,如何获得更新整个客户端文档的副作用

我有一个Meteor方法,我从客户端调用,然后更新单个文档中的所有字段.在下面的最后一行代码中,我尝试立即在客户端上运行相同的更新以获得直接的副作用(它假设更新将通过).我得到的麻烦是:

更新失败:访问被拒绝.在受限制的集合中,您只能更新文档,而不能替换它们.使用Mongo更新运算符,例如'$ set'

当试图这样做.我不想更新单个字段,我想更新整个文档.有没有办法正确地做到这一点?

entry = {
    title: title
    text: text
    tags: entry.tags
    mode: $('#mode').val()
    file_ids: entry.file_ids
}

eid = Session.get('entryId')
entry._id = eid if eid

context = Session.get('context')
Meteor.call('saveEntry', title, entry, context)
Entries.update({_id: entry._id}, entry)
Run Code Online (Sandbox Code Playgroud)

javascript mongodb meteor minimongo

2
推荐指数
1
解决办法
1170
查看次数

如何在这个复杂的例子中"思考React"?

提前道歉,这可能不是一个正确的解决方案类型的问题,但我不知道如何将其分解为更简单的部分或其他问题.

我在弥补在线可用的更琐碎的反应样本/演示与如何"思考反应"更复杂的应用程序之间的差距方面遇到了一些麻烦.

我有一个预先存在的解决方案,用于使用Meteor和一堆jquery构建的东西.这有点hacky,如果我能弄清楚如何,我认为将是React重构的好人选.

它看起来像这样:

在此输入图像描述

如果我首先将其分解为组件层次结构,我会得到如下内容:

在此输入图像描述

  • 紫色 - 用户可编辑的HTML内容容器.用户可以通过WYSIWYG编辑器编辑容器中的任何html.
  • 黄色 - 在html容器中,每个html的顶级块... p,列表,img被赋予唯一的ID - 因为WYSIWYG编辑器这些可能无法成为Purle的子组件
  • 绿色 - 渲染标记但最初对每个块都不可见.将鼠标悬停在一个块上或一个标记上会显示与该块相关联的标记.单击标记将开始添加操作的过程.如果块已经附加了一个线程,则立即渲染标记+计数(根据标记中的1).标记都包含在红色中
  • 海泡绿色 - 操作是单击标记并保存线程时添加的操作
  • 蓝色 - 所有这一切的容器,称其为缺少更好名称的条目

现在,我的反应思维能力分崩离析.每个组件似乎与其他组件具有非常严重的相互依赖性.

标记看起来像是最好的作为自己的组件,但它们的状态更多地受到内部其他组件的控制.

  • 编辑HTML内容是通过编辑器完成的,该编辑器依赖于容器中的所有HTML是一个字符串,因此这些块实际上不能分解为单独的组件.
  • 将鼠标悬停在内容块上会显示/隐藏标记,以便内容区域上的事件影响标记组件的状态.事件处于HTML块级别,尽管这些事件不一定是单独的组件
  • 每个标记的存在与内容HTML区域中的内容块的数量严格相关
  • 每个标记是否具有与之关联的Action与Actions集合严格相关
  • 标记的正确定位取决于内容的呈现和/或重新调整大小的方式
  • 单击标记会更改Action组件的状态,而反之亦然,(取消/删除和Action会更改标记的状态).

你会如何通过这种复杂性的例子来"思考反应"?任何帮助或建议将不胜感激.

jquery meteor reactjs

2
推荐指数
1
解决办法
261
查看次数

((xn - )?[a-z0-9] +( - [a-z0-9] +)*\.)+ [az] {2,}适用于regexpal.com,但不适用于jsfiddle.net

因此,下面"模式"中包含的这个正则表达式只能与我在下面的注释中所说的相匹配(最基本的匹配是1个字母后跟一个点,然后是两个字母)

var link = "Help"
// matches www-data.it -- needs at least (1 letter + '.' + 2 letters )
var pattern = '((xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}';
var re2 = new RegExp('^' + pattern, 'i');


// if no http and there is something.something
if (link.search(re2) == 0)
{
    link = link;
}
Run Code Online (Sandbox Code Playgroud)

当我测试这段代码@ http://regexpal.com/它只能起作用.有些东西通过了.

当我在JSFiddle上测试它并在生产中它匹配得比它应该更多,例如"帮助"匹配. http://jsfiddle.net/2jU4D/

这是怎么回事?

javascript regex

1
推荐指数
1
解决办法
589
查看次数