我正在研究一个相对较大的打字稿项目,我正在使用它ts-node来运行节点测试和示例.据我所知,ts-node将ts文件编译成js文件并执行.
最近我听说过deno,这是一个打字稿运行时.我尝试了一些使用的打字稿中的一些例子ts-node.我运行了这个例子deno,在控制台中打印了许多编译消息,然后执行代码.后来我发现里面有缓存文件/username/.deno.我觉得deno执行速度不快ts-node
这似乎都deno和ts-node编译和使用高速缓存运行.他们之间有什么区别?
我正在测试UI-Router嵌套状态,但我无法在父/子场景中设置默认状态,请帮忙.
库:
导航路径:
/ - home
/settings - parent state/page
/settings.default - child 1
/settings.mail - child 2
/settings.phone - child 3
Run Code Online (Sandbox Code Playgroud)
预期行为:
导航到时/settings,应触发/加载默认子项"常规"状态/页面
实际行为:
如果我将'settings'状态设置为'abstrat:true',则会出现错误:
Error: Cannot transition to abstract state 'settings'
at Object.transitionTo (angular-ui-router.js:3143)
at Object.go (angular-ui-router.js:3068)
at angular-ui-router.js:4181
at angular.js:16299
at completeOutstandingRequest (angular.js:4924)
at angular.js:5312
Run Code Online (Sandbox Code Playgroud)
如果我删除'abstrat:true',则没有错误,但是当我导航到/ settings时,默认子状态/页面 - 一般状态未触发,settings.html显示但未加载
app.js:
angular.module('test',['ui.router','sails.io']) //config routing
.config(['$stateProvider','$urlRouterProvider','$locationProvider',
function($stateProvider,$urlRouterProvider,$locationProvider) {
$urlRouterProvider.otherwise('/');
$locationProvider.html5Mode(true);
$stateProvider
.state('home', {
url: '/',
templateUrl: 'views/index.html',
controller: 'IndexController'
})
.state('settings', {
abstract: …Run Code Online (Sandbox Code Playgroud) 我正在尝试将Array克隆到一个新的,我希望克隆的数组没有引用原始副本
我知道有splice和from方法,但这些方法的新数组都引用了原始数组
例如
let original = [ [1,2], [3,4] ];
let cloned = Array.from(original); // this will copy everything from original
original[0][0] = -1;
console.log(cloned[0][0]); // the cloned array element value changes too
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用循环cloned[i][j] = original[i][j],但结果是一样的
如何使用原始Array中具有相同值的每个元素创建一个新Array,但是克隆的Array应该没有对原始Array的引用?
谢谢!
我正在尝试动态调用实例方法.我发现send,call,eval做到这一点.有动态调用类方法的例子,但我还没有弄清楚如何让它适用于实例方法.
例如
module MyModule
def Foo
puts "hello"
end
end
Run Code Online (Sandbox Code Playgroud)
实例方法名称可以列出:
MyModule.instance_methods
#=> [:Foo]
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何调用该方法:
MyModule.send("Foo")
#=> NoMethodError: undefined method `Foo' for MyModule:Module
MyModule.method("Foo").call
#=> NameError: undefined method `Foo' for class `Module'
eval 'MyModule.Foo'
#=> NoMethodError: undefined method `Foo' for MyModule:Module
Run Code Online (Sandbox Code Playgroud)
如何Foo通过方法名称调用实例方法?