这似乎是“Catch-22”的情况。
我已将“付款”类分配给了几个输入元素,如下所示:
<input class="payments" type="number" step="0.01" min="0" id="airfare" />
Run Code Online (Sandbox Code Playgroud)
我正在响应这些元素的更改事件:
Template.templatizer.events({
'change .payments' : function(event){
var paymentTot = $('#paymenttotal').val();
paymentTot = paymentTot + $(this).val();
$('#paymenttotal').val(paymentTot);
}
});
Run Code Online (Sandbox Code Playgroud)
...但使用上面的代码,在将一个值输入到“付款”类的元素之一并模糊/退出后,我得到,“未捕获的类型错误:无法读取未定义的属性 'toLowerCase'。 ”,显然是因为我需要在lenybernard的回答指出的“.TARGET”追加的元素在这里。
但是这样做之后,将代码更改为:
paymentTot = paymentTot + $(this.target).val();
Run Code Online (Sandbox Code Playgroud)
...虽然这确实解决了“无法读取未定义的属性 'toLowerCase' ”问题,但在此行运行后,我得到“未定义”作为 paymentTot 的值(在此之前为“”):
paymentTot = paymentTot + $(this.target).val();
Run Code Online (Sandbox Code Playgroud)
如何避免“无法读取未定义的属性 'toLowerCase'”并从调用该事件的元素中获取值?
我试图了解如何使用isServer / isClient 我有一个 .jsx 文件位于 import/ui/components/User/Login.jsx
在里面我试图调用 Meteor.isServer, Meteor.isClient 但两个值都未定义。我是 Meteor 的新手,无法理解这种行为。
import Meteor from 'meteor/meteor';
import React from 'react';
import ReactDOM from 'react-dom';
export class Login extends React.Component {
onSubmit(){
//code omitted
console.log(Meteor.isClient);
console.log(Meteor.isServer);
}
render() {
return (
<div className="row">
//code omitted
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
}
我有一个新的流星应用程序,并且有一些测试可以将数据插入到 mongo 集合中,但还没有 UI。
我已经开始了一个 mocha 测试运行器meteor test --driver-package practicalmeteor:mocha。如果我尝试启动 mongo 控制台,则会出现meteor mongo此错误。
mongo:Meteor 没有运行本地 MongoDB 服务器。
此命令仅在 Meteor 在本地运行您的应用程序时有效。首先使用“meteor”启动您的应用程序,然后在新终端中运行此命令。如果您在运行应用程序时要求 Meteor 使用带有 $MONGO_URL 的不同 MongoDB 服务器,也会发生此错误。
如果您尝试连接到使用“meteor deploy”部署的应用程序的数据库,请指定您的站点名称作为此命令的参数。
如何连接到 mongo 以查看测试创建了哪些文档?
我刚刚使用Meteor和Cordova构建了我的iOS应用程序,当我尝试使用基本的HTML"上传图片"表单时,我收到了此崩溃报告:
终止原因:TCC,此应用程序已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSPhotoLibraryUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
你知道如何解决这个问题吗?特别是科尔多瓦?
我在这里关注meteorjs的教程:https://www.meteor.com/tutorials/react/forms-and-events
其中一个代码是使用const.
const text = ReactDOM.findDOMNode(this.refs.textInput).value.trim();
据我在SO网站其他网站上的阅读所知,const价值无法改变.但是,当我键入我的应用程序输入框中的任何文本时,没有抛出重新分配const值的错误.
为什么会这样,我明白const错了?我希望有人可以向我解释并提前感谢.
示例代码:
import React, { Component, PropTypes } from 'react';
import ReactDOM from 'react-dom';
import { createContainer } from 'meteor/react-meteor-data';
import { Tasks } from '../api/tasks.js';
...some lines skipped...
// App component - represents the whole app
class App extends Component {
handleSubmit(event) {
event.preventDefault();
// Find the text field via the React ref
const text = ReactDOM.findDOMNode(this.refs.textInput).value.trim();
Tasks.insert({
text,
createdAt: new Date(), // current …Run Code Online (Sandbox Code Playgroud) 我在windows7开发环境中使用Meteor 1.4.3.2.
我开发的Meteor应用程序已经有6个多月了,但是我通过删除模块和显然我不应该有的东西引起了问题.我认为应用程序文件夹之外的东西(指向\ AppData\Local.meteor ..某处的sym-link)缺失/错误.
所有其他项目都很好,除了这个.
我这个项目的所有备份副本现在都失败了,包括来自repo的新克隆.此项目中没有"meteor"命令,或者它是备份副本,因此"meteor reset"不是一个选项.
错误是:
C:\Users\muser\iNotice>meteor
C:\Users\muser\AppData\Local\.meteor\packages\meteor-tool\1.4.3_2\mt-os.windows.
x86_32\dev_bundle\lib\node_modules\meteor-promise\promise_server.js:190
throw error;
^
Error: EPERM: operation not permitted, unlink 'C:\Users\muser\iNotice\.meteor\lo
cal\dev_bundle'
at Error (native)
at Object.fs.unlinkSync (fs.js:932:18)
at exports.makeLink (C:\tools\cli\dev-bundle-links.js:20:8)
at [object Object]._.extend.ensureDevBundleLink (C:\tools\project-context.js
:1476:7)
at [object Object]._.extend._readFile (C:\tools\project-context.js:1410:10)
at new exports.ReleaseFile (C:\tools\project-context.js:1360:8)
at C:\tools\cli\main.js:898:22
Run Code Online (Sandbox Code Playgroud)
有关修复应用程序的最佳方法的任何建议?
非常感谢您的时间和专业知识.
我有一个 Meteor React 应用程序。
我正在使用 Quill,但粗体会生成一个<strong>标签而不是一个<b>标签。
要通过危险的SetInnerHTML 呈现HTML,它不会显示<strong>为粗体。
有没有办法让 Quilljs 使用<b>而不是<strong>?
我有一个节点服务器 (Meteor.js),它应该使用 websockets 与另一台服务器进行通信。由于通信是在不涉及直接用户的服务器之间进行的,因此我选择使用自签名证书。
从节点服务器(这是一个客户端到另一个服务器)在哪里添加证书参数
var soc = new WebSocket("wss://localhost:9000")
Run Code Online (Sandbox Code Playgroud)
我已经测试过在不安全模式下通过认证进行连接,它工作正常。
var soc = new WebSocket("ws://localhost:9000")
Run Code Online (Sandbox Code Playgroud)
将证书添加到应用程序后,以安全模式从 android 应用程序连接也可以正常工作。
好日子开发者!我正在使用Meteor.js这是我在文件中创建集合的第一个经验
// ./dbs/messages.js
import { Mongo } from 'meteor/mongo';
import { Meteor } from 'meteor/meteor';
import { check } from 'meteor/check';
export const Messages = new Mongo.Collection('messages');
Run Code Online (Sandbox Code Playgroud)
并在Messages.insert这样的呼叫中使用它
// server/mail.js
import Messages from './dbs/messages.js';
Meteor.methods({
'message.post'(messageText, location){
Messages.insert({
messageText: messageText,
location: location
});
}
})
Run Code Online (Sandbox Code Playgroud)
但是当我打电话时,'message.post'我得到一个错误
Exception while invoking method 'message.post' TypeError
Messages.insert is not a function
Run Code Online (Sandbox Code Playgroud)
但是,当我评论集合导入并将其声明为server/main.js这样时
// import Messages from './dbs/messages.js';
const Messages = new Mongo.Collection('messages');
Meteor.methods({
'message.post'(messageText, location){
Messages.insert({
messageText: messageText, …Run Code Online (Sandbox Code Playgroud) 我想在我的管理站点手动创建用户.我发现Accounts.createUser似乎是解决方案.
但是,Accounts.createUser还会登录新创建的用户,这不是我想要的.我只是想创建一个用户,而不是登录.
有没有办法在Meteor中创建用户?