使用ES6模块,我知道我可以为命名导入添加别名
import { foo as bar } from 'my-module';
Run Code Online (Sandbox Code Playgroud)
而且我知道我可以导入默认导入
import defaultMember from 'my-module';
Run Code Online (Sandbox Code Playgroud)
我想为默认导入添加别名,我认为以下内容可行
import defaultMember as alias from 'my-module';
Run Code Online (Sandbox Code Playgroud)
但这会导致解析(语法)错误.
我怎么能(或者我可以?)别名默认导入?
我曾经用过Lodash _.pluck......我喜欢采摘...
实现Lodash不再支持pluck(从Lodash 4.x开始),我很难记住要使用的内容......
我去了文档,打了cmd-f,输入'pluck',但是我可怜的被遗弃的朋友甚至没有给出适当的提及......甚至没有'被'取代'......
有人可以提醒我,我应该使用什么?
Array.prototype.reverse 反转数组的内容(带有变异)......
是否有一个类似的简单策略来反转数组而不改变原始数组的内容(没有变异)?
堆栈跟踪:
Error: $apply already in progress
at Error (<anonymous>)
at beginPhase (file:///android_asset/www/built.min.js:7:22740)
at Object.Scope.$apply (file:///android_asset/www/built.min.js:7:25967)
at navigator.geolocation.getCurrentPosition.that (file:///android_asset/www/built.min.js:13:8670)
at Object.geolocation.getCurrentPosition (file:///android_asset/www/plugins/org.apache.cordova.core.geolocation/www/geolocation.js:122:13)
at Object.getCurrentPosition (file:///android_asset/www/built.min.js:13:8589)
at Object.getCurrentPosition (file:///android_asset/www/built.min.js:13:8277)
at Object.getCurrentCity (file:///android_asset/www/built.min.js:13:8941)
at Object.$scope.locateDevice (file:///android_asset/www/built.min.js:13:10480)
at file:///android_asset/www/built.min.js:7:12292:7
Run Code Online (Sandbox Code Playgroud)
请参阅此代码http://pastebin.com/B9V6yvFu
getCurrentPosition: cordovaReady(function (onSuccess, onError, options) {
navigator.geolocation.getCurrentPosition(function () {
var that = this,
args = arguments;
if (onSuccess) {
$rootScope.$apply(function () {
onSuccess.apply(that, args);
});
}
}, function () {
var that = this,
args = arguments;
if (onError) {
$rootScope.$apply(function () { …Run Code Online (Sandbox Code Playgroud) 我正在使用Jasmine Enzyme浅层渲染测试React组件.
为了这个问题,这里简化了......
function MyOuterComponent() {
return (
<div>
...
<MyInnerComponent title="Hello" />
...
<MyInnerComponent title="Good-bye" />
...
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
MyOuterComponent有2个实例,MyInnerComponent我想测试每个的道具.
第一个我知道如何测试.我用find用first...
expect(component.find('MyInnerComponent').first()).toHaveProp('title', 'Hello');
Run Code Online (Sandbox Code Playgroud)
但是,我正在努力测试第二个实例MyInnerComponent.
我希望这样的东西能起作用......
expect(component.find('MyInnerComponent').second()).toHaveProp('title', 'Good-bye');
Run Code Online (Sandbox Code Playgroud)
甚至这......
expect(component.find('MyInnerComponent')[1]).toHaveProp('title', 'Good-bye');
Run Code Online (Sandbox Code Playgroud)
但当然上述工作都没有.
我觉得我错过了显而易见的事.
但是,当我查看文档时,我没有看到类似的例子.
任何人?
我使用以下模板:
<div class="datatypeOptions" data-bind="if: $data.datatypeTemplate().allowOptions">
<h3>Allowed responses</h3>
<p data-bind="if: $data.datatypeTemplate().datatypeOptions().length == 0">There are no responses for this question, yet. <a href="#" data-bind="click: function(d, e){$root.addDatatypeOption($data.datatypeTemplate());}">Add one</a>
<ul data-bind="foreach: $data.datatypeTemplate().datatypeOptions()">
<li>
<a href="#" data-bind="text: name, click: $root.selectedDatatypeOption, visible: $data !== $root.selectedDatatypeOption()"></a>
<input data-bind="value: name, visibleAndSelect: $data === $root.selectedDatatypeOption(), event: { blur: $root.clearDatatypeOption }, executeOnEnter: { callback: function(){ $root.addDatatypeOption($parent.datatypeTemplate()); } }" />
//I want to show this a tag only if $data is the last element in the array.
Problem here ===> <a …Run Code Online (Sandbox Code Playgroud) 我有一个django项目,其中包含一个已包含数据的数据库表.我想更改字段名称而不会丢失该列中的任何数据.我最初的计划是简单地以一种实际上不会改变db表名称的方式更改模型字段名称(使用db_columncolumn参数):
原型号:
class Foo(models.Model):
orig_name = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
新型号:
class Foo(models.Model):
name = models.CharField(max_length=50, db_column='orig_name')
Run Code Online (Sandbox Code Playgroud)
但是,运行South's schemamigration --auto会生成一个删除原始列的迁移脚本orig_name,并添加一个新列name,这会产生删除该列中数据的不良副作用.(我也很困惑为什么South想要更改db中列的名称,因为我对db_column的理解是它允许更改模型字段名而不更改数据库表列的名称).
如果我无法在不更改db字段的情况下更改模型字段,我想我可以做更直接的名称更改,如下所示:
原型号:
class Foo(models.Model):
orig_name = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
新型号:
class Foo(models.Model):
name = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
无论我最终使用哪种策略(我更喜欢第一种,但会发现第二种可接受),我主要担心的是确保我不会丢失该列中已有的数据.
这需要一个多步骤的过程吗?(例如1.添加列,2.将数据从旧列迁移到新列,以及3.删除原始列)或者我可以使用类似的方式更改迁移脚本db.alter_column吗?
更改列名称时保留该列中数据的最佳方法是什么?
我可以在导入时构造默认导出对象吗?
给出以下导出语法(export default)
const foo = ...
function bar() { ... }
export default { foo, bar };
Run Code Online (Sandbox Code Playgroud)
以下导入语法是否有效JS?
import { foo, bar } from './export-file';
Run Code Online (Sandbox Code Playgroud)
我问,因为它在我的系统上工作,但我被告知它不应该按照规范工作.
javascript ×5
es6-modules ×2
github ×2
angularjs ×1
arrays ×1
cordova ×1
customcolumn ×1
django-south ×1
ecmascript-6 ×1
enzyme ×1
jasmine ×1
knockout.js ×1
lodash ×1
npm ×1
reactjs ×1