小编Bal*_*zar的帖子

使用jquery fullCalendar时,为什么我在切换月份后会看到重复的事件?

我正在使用jquery fullCalendar插件,我遇到了一个奇怪的问题.

当我加载第一个月(在这种情况下2013年12月)它工作正常.我调用我的ajax事件并返回一组事件.我从我的服务器返回40个事件,我看到40个事件呈现.

然后我转到下个月(2014年1月),它也运行良好.(来自服务器的41个事件和GUI中显示的41个事件)

然后我点击BACK返回到2013年12月,我得到了ajax事件,它返回相同的40个事件(如上所述),但是当日历加载时,它会看到12月份的每个事件都重复(GUI上显示80个事件),即使我只从服务器发回40,我在事件回调期间看到40.

这是我的代码:

$('#calendar').fullCalendar({
  header: {
    left: 'prev,next title today',
    right: ''
  },
  lazyFetching: false,
  editable: false,
  timeFormat: 'H:mm{-H:mm} ',

  viewDisplay: function (view) {
    ViewDisplay();
  },

  events: function (start, end, callback) {

    $('#Month').val($('#calendar').fullCalendar('getDate').getMonth() + 1);
    $("#Year").val($('#calendar').fullCalendar('getDate').getUTCFullYear());

    var serializedFormInfo = $('#rotaForm').serialize();

    $.ajax({
      url: '/SupportRota/GetEvents/',
      dataType: 'json',
      cache: false,

      data: serializedFormInfo,
      success: function (data) {
        callback(data.RotaEvents);
      }
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

我尝试添加lazyLoading:false,因为我认为它是某种缓存,但这似乎并没有解决问题.

我在萤火虫上放了一个断点

callback(data.RotaEvents)
Run Code Online (Sandbox Code Playgroud)

我看到40个事件,但在上述场景中屏幕上会显示80个事件.

有什么建议吗?

ajax jquery fullcalendar

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

React Router browserHistory无法按预期工作

作为用户,我想通过深度网址上的direkt访问内容

情况

在主页面上,我有一个指向"关于"页面的链接.单击内容按预期更改.页面被加载,网址更改为localhost:8080/about.

如果我现在刷新页面我得到错误:

无法获得/关于

我想知道这是正常的行为还是我错过了什么?

路线:

var React = require('react');
var ReactRouter = require('react-router');

var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var browserHistory = ReactRouter.browserHistory;
var Main = require('./components/Main');
var About = require('./components/About');

module.exports = (
  <Router history={browserHistory} >
    <Route path="/" component={Main}>
      <Route path="about" component={About}/>
    </Route>
  </Router>
)
Run Code Online (Sandbox Code Playgroud)

主要:

var React = require('react');
var ReactRouter = require('react-router');
var Link = ReactRouter.Link;

module.exports = React.createClass({
  render: function() {
    return <div>
      <div>Header!!</div>
      {this.content()}
    </div>
  },
  content: function() {
    if(this.props.children) { …
Run Code Online (Sandbox Code Playgroud)

browser-history react-router

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

HTML5 History API自动路由刷新错误

我目前正在使用一个项目,在后端使用SpringBoot,在前端使用HTML5和Angular 2.

部署项目后,当我在浏览器中导航时,一切正常,直到我按下重新加载按钮.浏览器将显示错误页面.

白标错误页面

此应用程序没有/ error的显式映射,因此您将此视为回退.

2017年5月8日星期一10:16:14 CDT 2017

出现意外错误(type = Not Found,status = 404).

没有可用的消息

这显然是由于使用HTML 5历史记录API在浏览器URL中存储客户端导航.

因此,当我开始点击页面上的项目时,我看到URL会自动附加.

但是,当点击刷新时,这将成为一个问题,完整的附加URL将发送到无法理解它的服务器,因为该附加URL的特定映射不存在.

是否有修复此更新服务器端配置,以便任何未知的URL返回根index.html视图的视图?

例如,当我点击刷新时,被查询的URL只是根URL http://localhost:8080/root,而不是附加的URL.

这将使浏览器正确导航而不是尝试在服务器端执行此操作.

javascript html5 spring-boot angular2-routing angular

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

socket io房间名称和特定房间内的用户数量

我正在尝试使用socket.io版本构建一些基本的聊天(基于房间):

"socket.io": "^2.1.1"
"socket.io-client": "^2.1.1"
Run Code Online (Sandbox Code Playgroud)

我有几个基本问​​题,无论我找到多深,我都找不到任何有效的答案.

  1. 当一个用户进入一个特定的房间时,我正在这样做(在服务器中), socket.join(roomName)所以只有当至少有连接到这个房间的插座时,房间才"存在"?

  2. 我想创建一个屏幕,其中包含房间名称和参与者的数量 - (是否可以通过客户端socketIO的对象获取它?),我发现可以通过使用获取房间名称(服务器端)io.sockets.adapter.rooms但是我得到了非常奇怪的字符串,绝对不是房间名称.

  3. 我正在尝试在每个房间内创建一个页面,显示连接到该房间的用户(进入房间的连接socket.join(roomName))

我是socket.io的新手.我希望有人可以帮助我更好地理解如何使用它,以及我在这里缺少的东西.

谢谢!

javascript node.js socket.io

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

如何使用require.ensure在Webpack中拆分代码进行生产?

我正在使用Webpack,我想将我的客户端代码分成几个部分,并在用户需要时加载它们.

这是我的文件结构:

app.js       <-- Entry point as introduced to Webpack
Module.js    <-- To be loaded dynamically
Run Code Online (Sandbox Code Playgroud)

app.js和之间没有直接连接Module.js,而第二个文件是由第一个加载的,如下所示:

require.ensure([], (require) => {
    let path = "Module";
    let module = require("./" + path).default;
});
Run Code Online (Sandbox Code Playgroud)

"./" + path只是用来确保Webpack不会对我很聪明,并尝试静态地解决路径.无论如何,这段代码在webpack-dev-server的开发模式下工作.我的意思Module.js是直到我触发事件来运行上面的代码才下载.然后,它被加载并完美执行.

但是当我打包生产项目时,它就会停止工作.它发出以下错误(在我触发下载事件时在浏览器中),甚至没有尝试发送请求:

未捕获错误:找不到模块'./Module'.

此外,当我动态组合路径时(如上面的代码),构建过程会发出以下警告:

./src/app/app.js中的警告关键依赖项:74:34-47依赖项的请求是表达式

为生产配置Webpack的正确方法是什么,因此它支持动态下载代码拆分?


我已经测试了@wollnyst给出的解决方案,结果如下.当我像这样实现它时,它的工作原理:

require.ensure(["./Module"], (require) => {
    let path = "Module";
    let module = require("./" + path).default;
});
Run Code Online (Sandbox Code Playgroud)

但那不是我想要的,我想这样:

let path = "Module";
require.ensure(["./" + path], (require) => {
    let module = require("./" + path).default; …
Run Code Online (Sandbox Code Playgroud)

commonjs webpack

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

react-navigation如何设置与动画值对应的tabBar边距

我正在使用react-navigation Tab Navigation.我的标签导航上方有一个标题,它可以折叠和展开对应的scrollView.

这是我的问题:当我一直向上滚动时,标题会崩溃,这就是我想要的,但tabBar将保持静态(请参阅照片).有没有办法我可以设置tabBar margin相应的滚动视图?这样marginTop当标题折叠时就没有了.

在此输入图像描述

const Header_Maximum_Height = 40;
const Header_Minimum_Height = 0;

export default class App extends Component {

  render(){
    return (
      <View style={{flex:1, marginTop:30}}>
        <AppContainer/>
      </View>
    )
  }
}

class HomeScreen extends Component{
      constructor()
    {
         super();
         this.AnimatedHeaderValue = new Animated.Value(0);
     }
render() {

const AnimateHeaderBackgroundColor = this.AnimatedHeaderValue.interpolate(
   {
    inputRange: [ 0, ( Header_Maximum_Height - Header_Minimum_Height )  ],
    outputRange: [ '#009688', '#00BCD4' ],
    extrapolate: 'clamp'
   });

const AnimateHeaderHeight = this.AnimatedHeaderValue.interpolate(
      {
       inputRange: …
Run Code Online (Sandbox Code Playgroud)

javascript react-native react-navigation

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

我可以快速扫描本地网络中的特定开放端口吗?

我想知道是否有办法扫描本地网络的IP范围以查找特定号码的开放端口.

基本上我正在寻找在nodejs不知道其IP地址的情况下找到特定类型的客户端.在这种情况下,RFID读取器侦听端口14150.

我希望这次扫描很快,所以我不希望每个IP地址之间有很长的超时.它们都应该相当快速地发生,可能在几秒钟内最多可达到最多255个客户端的整个本地IP范围,不包括我自己的IP.

我写的代码,我想要做什么,但它是非常缓慢.我想知道怎样才能使这个速度通过连接炽烈和失控如果连接不能对一个给定的IP 20ms内作出.我想捕获一个数组中的实际连接,然后我可以将其用于其他目的.

var net = require('net'); // Required to create socket connections

var ip = 254; //IP address to start with on a C class network

function checkConnect () {
  ip--;
  var thisIP = '192.168.1.' + ip; //concatenate to a real IP address

  var S = new net.Socket();
  S.connect(80, thisIP);

  if(ip > 0) { checkConnect(); }

  S.on('connect', function () { console.log('port 80 found on ' + thisIP); });
  S.on('error', function () { console.log('no …
Run Code Online (Sandbox Code Playgroud)

networking node.js

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

吞咽少量然后缩小任务

我必须在吞咽中做两个步骤:

  1. 减少.css文件格式
  2. 缩小生成的css文件

这是我的gulpfile:

var gulp = require('gulp'),
    watch = require("gulp-watch"),
    less = require('gulp-less'),
    cssmin = require('gulp-cssmin'),
    rename = require('gulp-rename');

gulp.task('watch-less', function () {
    watch({glob: './*.less'}, function (files) { // watch any changes on coffee files
        gulp.start('compile-less'); // run the compile task
    });

    watch({
        glob: ['./*.css', '!./*.min.css']
    }, function(files) {
        gulp.start('minify-css'); // run the compile task
    });
});

gulp.task('compile-less', function () {
    gulp.src('./*.less') // path to your file
    .pipe(less().on('error', function(err) {
        console.log(err);
    }))
    .pipe(gulp.dest('./'));
});

gulp.task('minify-css', function() {
    gulp.src([
        './*.css', …
Run Code Online (Sandbox Code Playgroud)

javascript node.js gulp

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

如何使用d3.js绘制带箭头的线条

使用d3.js绘制带箭头的线条时遇到问题.我确实看到了一些教程并编写了这段代码,但我只看到没有箭头标记的行.有人可以看看它,并告诉我我在哪里失踪.提前致谢.

var w = 300;
var h = 300;
var svg = d3.select("body")
  .append("svg")
  .attr("width", w)
  .attr("height", h);

//arrow
svg.append("svg:defs")
  .append("svg:marker")
  .attr("id", "triangle")
  .attr("viewBox", "0 -5 10 10")
  .attr("refX", 15)
  .attr("refY", -1.5)
  .attr("markerWidth", 6)
  .attr("markerHeight", 6)
  .attr("orient", "auto");

//line              
svg.append("line")
  .attr("x1", 100)
  .attr("y1", 100)
  .attr("x2", 200)
  .attr("y2", 100)          
  .attr("stroke-width", 1)
  .attr("stroke", "black")
  .attr("marker-end", "url(#triangle)");
Run Code Online (Sandbox Code Playgroud)

html javascript d3.js

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

如何从shell编译在macOS Sierra上使用dylib路径的源代码

我正在编译一些源代码,需要我已经构建的其他项目中的一些dylib.我越来越

ld:找不到架构x86_64`的符号

每当我执行

g++ some_code.cpp -I/usr/local/include -o executable_binary
Run Code Online (Sandbox Code Playgroud)

我知道g++无法找到已编译的dylib(安装在/usr/local/include),因为错误还提到了很多特定符号,这些符号是dylib的一部分.

我已经尝试过了:

  1. 执行 install_name_tool -id "@/usr/local/lib/requiredlib.dylib" /usr/local/lib/requiredlib.dylib
  2. 添加-L/usr/local/lib到编译选项.
  3. 将所有dylib路径显式添加到编译选项.
  4. 尝试添加DYLD_LIBRARY_PATH失败,因为Sierra出于安全原因不允许设置该变量.

我知道可以添加,DYLD_LIBRARY_PATH但需要禁用SIP.我可以做到这一点,如果有更清洁的方法,我不想这样做.

PS:我正在尝试编译郁金香图库的教程示例.

缺少的符号与我安装的图库有关.错误消息是:

Undefined symbols for architecture x86_64:
  "tlp::saveGraph(tlp::Graph*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, tlp::PluginProgress*)", referenced from:
      _main in tutorial001-02ee7e.o
  "operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, tlp::Graph const*)", referenced from:
      _main in tutorial001-02ee7e.o
ld: symbol(s) not found for architecture x86_64
Run Code Online (Sandbox Code Playgroud)

每当我这样做ls /usr/local/lib/requiredlib.dylib,郁金香的所有编译库都在那里.

g++ -v 生产:

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM …
Run Code Online (Sandbox Code Playgroud)

g++ dylib macos-sierra

10
推荐指数
2
解决办法
655
查看次数