小编Dav*_*ing的帖子

将SDK设置为12.1

我一直收到警告:

此应用程序是使用iOS 11.4 SDK构建的.从2019年3月开始,提交到App Store的所有iOS应用必须使用iOS 12.1 SDK或更高版本构建,包含在Xcode 10.1或更高版本中.

...当我上传到应用商店时.

我运行Xcode 10.1,并且我还将基本SDK设置为12.1,如截图所示,但在归档和上传后仍然会收到警告.还有什么我需要做的吗?部署目标是9.0.

在此输入图像描述

sdk xcode app-store

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

backbone.router和React状态

根据路径设置React Component状态的标准方法是什么?我有以下React/Backbone示例:

var myApp = React.createClass({
  render: function() {
    return (
      <div className={this.state}></div>
    );
  }
})

var App = Backbone.Router.extend({
  routes: {
    "": "home",
    "create": "create"
  }
});

var app = new App();
app.on('route', function(page) {
  // How do I set state on myApp??
})

React.renderComponent(<myApp />, document.body);
Backbone.history.start();
Run Code Online (Sandbox Code Playgroud)

我相信我需要能够myApp从外部设定状态,但是如何?我找不到任何关于此的例子.

或许我在这里想错了方向,有没有更好的方法与React一起组织路线?

javascript url-routing backbone.js reactjs

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

通过块映射字符串重命名webpack / gats

在盖茨比(Gatsby)构建我们的生产应用程序时,我会看到以下内容:

window.___chunkMapping={
  "app":[],
  "component---src-templates-page-tsx":[],
  "component---src-templates-pages-newsletter-tsx":[]
}
Run Code Online (Sandbox Code Playgroud)

是否可以对这些路径进行散列而不是将其打印出来?我们不想从背后发生的事情中暴露太多。

我尝试在webpack中设置这些配置:

output: {
  filename: `[chunkhash:2][contenthash:5].js`,
  chunkFilename: `[chunkhash:2][contenthash:5].js`,
},
Run Code Online (Sandbox Code Playgroud)

并且它成功地哈希了.js文件,但没有哈希到模板路径。

javascript node.js webpack gatsby

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

React:在状态发生变化后获取初始状态

在状态发生变化,是否可以检索初始状态?F.ex:

React.createClass({
  getInitialState: function() {
    return { foo: 'bar' }
  },
  componentWillMount: function() {
    this.setState({ foo: 'foo' })
  },
  componentDidMount: function() {
    // get the initial state "bar" ?
  }
})
Run Code Online (Sandbox Code Playgroud)

我在文档中找不到任何内容.我当然可以将值保存在外部变量中,但如果可以将初始状态视为可以重用的"配置"对象,我只是好奇.

javascript reactjs

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

根据速度和网格计算减速度

我试图requestFrame根据我知道速度 (v) 和我想要行进的距离这一事实来计算循环中的衰减或速度。我也知道ms每一帧的。

所以一个简单的衰减算法是:

velocity *= 0.9

这会平滑而漂亮地减慢速度,但我希望动画元素停在给定位置(对齐网格)。那么如何准确计算减速度呢?

javascript math animation velocity

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

注入的链接样式表优先于 IE7+ 中的现有样式

层叠动态样式表时,IE 中似乎存在错误。有谁知道是否有解决方法?考虑一下:

<head>
    <style>#test{background:red;}</style>
</head>
<body>
    <div id="test">test</div>
    <script>
        var link = document.createElement('link');
        var style = document.getElementsByTagName('style')[0];
        link.rel = 'stylesheet';
        link.href = 'test.css';
        style.parentNode.insertBefore(link, style);
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)

注入的“test.css”包含#test{background:green}.

即使我们将 放在标签<link>之前<style>,IE7+ 也会使用注入的样式表覆盖样式并应用绿色作为背景。

FF/Chrome 以正确的方式执行此操作,并让样式标签优先于注入的链接标签,以便背景保持红色。

javascript css internet-explorer css-cascade

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

jQuery UI可拖动元素被放入可排序

我有一个可拖动项目列表,我希望能够将它们拖到可排序的内容块上.这是我的标记:

<div class='items'>
    <div class="one">One</div>
    <div class="two">Two</div>
</div>

<div class="content">
    <div class="block">Foo</div>
    <div class="block">Bar</div>
</div>
Run Code Online (Sandbox Code Playgroud)

问题是,我希望拖动的项目在拖动开始时"成为"一个块,并在它被删除时保持一个块.我试过这个:

$('.items div').draggable({
    helper: function(e) {
        return $('<div>').addClass('block').text( $(e.target).text() );
    },
    connectToSortable: ".content"
});

$('.content').sortable();?
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/MF4qu/

但即使我创建一个看起来像块的自定义帮助器,它一旦被删除就会恢复到原始拖动的元素.有谁知道如何在我的示例页面中正确插入一个块?我已经查看了UI API,但我无法弄明白.

?
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui droppable draggable

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

覆盖函数而不删除静态属性

如果我有这样的功能:

function a() {
    console.log('a');
}
Run Code Online (Sandbox Code Playgroud)

然后分配一个这样的静态属性:

a.static = 'foo';
Run Code Online (Sandbox Code Playgroud)

但是说我想用另一个函数覆盖这个函数,如下所示:

var old = a;

a = function() {
    console.log('new');
    old.call(this);
};

a.static // undefined
Run Code Online (Sandbox Code Playgroud)

由于我分配了一个新函数a,它的静态属性会丢失.是否有一种简洁的方法来保持静态属性而不循环并手动复制它们?

更新:

这是一个真实世界的场景:在Bootstrap jQuery插件中,作者将默认值分配给属性函数,如下所示:

$.fn.modal = function() {
    // some code
};

$.fn.modal.defaults = { // some object };
Run Code Online (Sandbox Code Playgroud)

因此,如果我想"扩展"我通常会做的原型:

var old = $.fn.modal;

$.fn.modal = function() {
    // do my thing
    old.apply(this, arguments);
}
Run Code Online (Sandbox Code Playgroud)

但那样会

$.fn.modal.defaults === undefined
Run Code Online (Sandbox Code Playgroud)

这将破坏功能,因为默认值会丢失.我想知道在javascript中是否有一种偷偷摸摸的方式来改变功能 而不会丢失静态属性.

javascript static constructor function extend

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

使新关键字可选

假设我要创建以下API:

var api = function(){}

api.prototype = {
  constructor: api,
  method: function() {
    return this;
  }
};
Run Code Online (Sandbox Code Playgroud)

现在,这将工作如下:

var myApi = new api();
myApi.method();
Run Code Online (Sandbox Code Playgroud)

但是,假设我想让new关键字成为可选的,这样就可以了:

api().method();
Run Code Online (Sandbox Code Playgroud)

我会出于自己的想法:

var api = function() {
  if ( !(this instanceof api) ) {
    return new api();
  }
};
Run Code Online (Sandbox Code Playgroud)

但我想知道,这可能会以某种方式轻易被感染,或者使用这种方法还有其他危险吗?我知道f.ex jQuery不会这样做(他们将构造函数卸载到原型方法),所以我确信有充分的理由不这样做.我只是不认识他们.

javascript constructor new-operator javascript-objects

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

使用//而不是prototcol

可能重复:
使用前导双斜杠继承URL中的协议是否有任何缺点?即src ="// domain.com"

我在许多地方看到了以下逻辑,f.ex分析脚本:

script.src = ('https:' == document.location.protocol ? 'https' : 'http') +
    '://example.com/cdn.js';
Run Code Online (Sandbox Code Playgroud)

但据我所知,您也可以这样做:

script.src = '//example.com/cdn.js';
Run Code Online (Sandbox Code Playgroud)

它应该使用当前使用的任何协议.或者我错过了什么?什么被认为是"最佳实践"?

我不是在寻找浏览器兼容性答案,谷歌已经建议//使用CDN脚本,所以在这里不应该这样.

这是一个小提琴,但它并没有说它似乎在这个设置中工作:http://jsfiddle.net/6ZGyb/

javascript jquery load protocols require

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