小编Sus*_* --的帖子

Meteor-React错误:修复后,目标容器不是DOM元素

我复制+粘贴代码来自:https://stackoverflow.com/questions/41514549/

然后,我修复错误并将'class'更改为'id',这样:

main.html中

<head>
  <title>React Meteor Voting</title>
</head>
<body>
  <div id="render-target"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

main.jsx

import React, { Component } from 'react';
import {Meteor} from 'meteor/meteor';
import { render } from 'react-dom';

Meteor.startup(() => {
  render(<App />, document.getElementById('render-target'));
});

class App extends Component {
  render(){
    return (
      <h1>Hello!</h1>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

的package.json

{
  "name": "test-react",
  "private": true,
  "scripts": {
    "start": "meteor run"
  },
  "dependencies": {
    "babel-runtime": "^6.20.0",
    "meteor-node-stubs": "~0.2.4",
    "react": "^15.5.4",
    "react-dom": "^15.5.4"
  }
}
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误:

未捕获的错误:_registerComponent(...):目标容器不是DOM元素.在Object._renderNewRootComponent(modules.js?hash = de726ed …

javascript meteor reactjs

14
推荐指数
6
解决办法
5835
查看次数

为移动应用程序创建深层链接

我想为我的应用创建促销链接 - 我可以通过电子邮件分发.当用户点击电子邮件中的链接时,网页会执行以下操作:

  1. 确定哪个操作系统(iOS或Android)
  2. 如果app安装在设备上 - 打开应用程序
  3. 否则 - 将用户带到AppStore(或)PlayStore(或)自定义URL.

我尝试使用AppLinks(applinks.org) - 但我无法让它工作.浏览器如何理解"al:xx:xxx .."标签?它只适用于facebook/twitter吗?

<html>
    <head>
       <meta property="al:ios:url" content="applinks://docs" />
       <meta property="al:ios:app_store_id" content="12345" />
       <meta property="al:ios:app_name" content="App Links" />
       <meta property="al:android:url" content="applinks://docs" />
       <meta property="al:android:app_name" content="App Links" />
       <meta property="al:android:package" content="org.applinks" />
       <meta property="al:web:url" content="http://applinks.org/documentation" />
   </head>
Run Code Online (Sandbox Code Playgroud)

我还尝试了另一篇文章中的一些javascript - 但如果未安装该应用程序,浏览器会显示错误:

<script>
    window.onload = function() {
        window.location = 'http://www.launchMyApp';

        setTimeout("window.location = 'http://play.google.com/someApp';", 1000);
    }
</script>
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢.

redirect android deep-linking ios applinks

9
推荐指数
2
解决办法
3416
查看次数

悬停数组元素淡化另一个数组中的对应元素[闭包问题]

我希望实现的是当我将鼠标悬停在deptmts数组中的元素上时,数组中的相应元素brnches随后会淡入淡出.我在下面添加了我认为它应该是但不确定我哪里出错了.任何帮助将非常感激.

var brnches = ["#branch01","#branch02","#branch03","#branch04"]
var deptmts = ["#depart01","#depart02","#depart03","#depart04"]

var brchhov = function() {
    for(var i=0; i<deptmts.length; i++){
        $(deptmts[i]).hover(
            function(){$(brnches[i]).stop(true).fadeTo("fast", 1);},
            function(){$(brnches[i]).stop(true).fadeTo("slow", 0);}
        );
    }
};
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery

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

间谍和存根有什么区别?

我刚刚开始使用sinon.js,我完全被术语所困扰.我已经使用了stubs,其中subview'srender方法被删除了.但对间谍的解释对我来说并不清楚.谁能解释这两者究竟有什么区别呢?

还想知道如果我想测试是否已将新模型添加到集合中,该方法会是什么?

jquery backbone.js sinon

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

将NPM包连接成一个JS文件

我试图让Swig(模板语言)使用Express 解析Parse Cloud Code.Parse Cloud Code是一个不允许NPM的Node/Express主机.可笑,我知道.我仍然可以将外部文件加载到带有require语句的代码中,所以我认为我希望我可以使用它.

所以我的问题是如何将整个Swig包整合到一个JS文件中,我可以从我的Parse Express应用程序中包含这样的文件:

var swig = require("./cloud/swig.js");
Run Code Online (Sandbox Code Playgroud)

值得注意的是,Parse打破了普通的需要语句,因此如果不修改node_modules文件夹中的每个文件都cloud在其路径中(这就是我的上述路径中包含的文件),NPM包就不能正常工作cloud.在上传大量小文件时,Parse也会窒息.在这个平台上需要连接.

我已经尝试使用browserify几个小时,但是当我使用require语句加载浏览器化文件时,没有任何组合使得暴露Swig对象.我认为它可能是正确的选项,因为Browserified文件包含Swig中的所有文件,但它不会在外部公开它们.

我的问题是,这可以在browserify中完成,如果是,如何?或者是否有另一种方法将NPM存储库连接到一个文件,以便可以更容易地从此平台中包含它?

非常感谢.

javascript node.js npm parse-platform browserify

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

集合在Backbone中添加事件监听器

每当我将新模型添加到我的集合中时,我都会尝试更新我的视图.我的第一个问题是,当我保存该模型时,我会自动将模型添加到我的集合中,例如:

PostsApp.Views.Form = Backbone.View.extend({
    template: _.template($('#form-template').html()),
    render: function(){
        this.$el.html(this.template(this.model.toJSON()));
    },
    events:{
        'click button' : 'save'
    },

    save: function(e){
        console.log("is this working");
        e.preventDefault();
        var newname = this.$('input[name=name-input]').val();
        var newadress = this.$('input[name=adress-input]').val();
        this.model.save({name: newname, adress : newadress});
    }


});
Run Code Online (Sandbox Code Playgroud)

还是我还要做collection.add()

除了在我的视图中看到新模型,我试图添加这样的'添加'事件监听器:

PostsApp.Views.Posts = Backbone.View.extend({
    initialize: function(){
        this.collection.on('add', this.addOne, this);

    },
    render: function(){
        this.collection.forEach(this.addOne, this);
    },

    addOne: function(post){
        var postView = new PostsApp.Views.Post({model:post});
        postView.render();
        this.$el.append(postView.el);
    }
});
Run Code Online (Sandbox Code Playgroud)

这不仅不起作用,而且当我添加初始化方法时,它只是在首次加载页面时复制模型中的所有内容.

javascript jquery backbone.js backbone-events backbone.js-collections

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

Jest 测试运行 - 找不到模块错误

我一直在研究 React Typescript 存储库,并且遇到了一个恼人的问题,即开玩笑时无法解析相对于根目录的导入。

 Cannot find module '~lib/dates' from 'utils.ts'
Run Code Online (Sandbox Code Playgroud)

这就是组件/实用程序中导入的样子

import { abc } from '~lib/dates';   // this fails to run
Run Code Online (Sandbox Code Playgroud)

如果我将其更改为相对路径,玩笑测试将按预期运行

import { abc } from '../../lib/dates';   // this runs as expected
Run Code Online (Sandbox Code Playgroud)

同样的路径适用于其他一些目录,我有点困惑

import { xyz } from '~components/home/constants';   // jest resolves it
import { abc } from '~lib/dates';                     // ERR
Run Code Online (Sandbox Code Playgroud)

我尝试将其包含moduleNameWrapper在 jestConfig 中,看看它是否可以正确解析导入,但没有帮助。

包.json

"jest": {
   ...

   "moduleNameWrapper": {
      "^~(.*)$": "<rootDir>/src/$1"
    }
}
Run Code Online (Sandbox Code Playgroud)

我肯定可以更新 VS 代码设置,以便自动导入相对于文件而不是根目录进行解析,但这已经困扰我一段时间了。如果有人能指导如何最好地解决这个问题,那就太好了。

我在一个具有以下目录结构的 monorepo 上

repo
  server
  client
    src
       components
       lib …
Run Code Online (Sandbox Code Playgroud)

javascript typescript jestjs

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

在javascript中从json获取价值

嗨,我有一个简单的JSON输出:

"{
   \"max_output_watts\": 150, 
   \"frame_length_inches\": \"62.20\",
   \"frame_width_inches\": \"31.81\"
 }"
Run Code Online (Sandbox Code Playgroud)

我在一个函数中使用它:

...
$.getJSON(pop_model_dims_url, {model_id: selected}, function(data, jqXHR){
              alert(data.max_output_watts);
          });
...
Run Code Online (Sandbox Code Playgroud)

警报现在只是一个占位符,但我不明白为什么警报值是'未定义'.如果我做:

...
$.getJSON(pop_model_dims_url, {model_id: selected}, function(data, jqXHR){
              alert(data);
          });
...
Run Code Online (Sandbox Code Playgroud)

我按预期得到了完整的json转储.

任何帮助非常感谢.

javascript json

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

有人可以解释这个电子邮件正则表达式的含义

^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))
    @((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)
  +[a-zA-Z]{2,}))$
Run Code Online (Sandbox Code Playgroud)

我只能理解正则表达式的部分内容,而不是整个表达式

([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)

匹配一个或多个不是字符的字符

<>()[\]\\.,;:\s@\"  \\  Not sure what this [\]\\  and \s@\ means
Run Code Online (Sandbox Code Playgroud)

我也能理解其他一些部分,但不能理解为单个实体.

javascript regex validation

4
推荐指数
2
解决办法
223
查看次数

使用Jasmine测试套件测试点击事件

jasmine用来测试我的应用程序,现在我的代码中没有按钮,
但我想编写一个测试,我可以检查是否触发了点击事件.
你可以简单地认为我想要点击没有按钮的点击事件.

这就是我做的

 scenario('checking that click event is triggered or not', function () {

    given('Sigin form is filled', function () {

    });
    when('signin button is clicked ', function () {
        spyOn($, "click");
        $.click();

    });
    then('Should click event is fired or not" ', function () {
        expect($.click).toHaveBeenCalled();
    });
});
Run Code Online (Sandbox Code Playgroud)

提前致谢 .

javascript bdd jquery unit-testing jasmine

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