如何使用npm查找所有以前版本的软件包?
在这种情况下,我对cordova感兴趣.如果我执行npm install -g cordova,我将安装最新版本(这是你所期望的).
如果我这样做,npm install -g cordova@3.1.0-0.1.0那么我会安装特定版本 - 我想知道因为我遇到了最新版软件包的问题,并想测试问题发生在哪个版本 - 但如果我不这样做就不能这样做知道有哪些npm包版本.
我在JavaScript中有一个正则表达式,使用以下代码将我的驼峰大小写字母分割为大写字母(我后来从这里得到):
"MyCamelCaseString"
.replace(/([A-Z])/g, ' $1')
.replace(/^./, function(str){ return str.toUpperCase(); })
Run Code Online (Sandbox Code Playgroud)
因此返回:
"My Camel Case String"
Run Code Online (Sandbox Code Playgroud)
这很好.但是,我想把它提升一个档次.有人可以帮助我使用正则表达式,只有当前一个字符为小写且后者为大写时才会拆分.
因此,上面的例子将是我期望的结果,但如果我这样做:
"ExampleID"
Run Code Online (Sandbox Code Playgroud)
然后我回来了:
"Example ID"
Run Code Online (Sandbox Code Playgroud)
代替
"Example I D"
Run Code Online (Sandbox Code Playgroud)
因为它在每个大写字母中分裂并忽略它之前的任何内容.
希望有道理!谢谢:).
在Ionic 1中,我们可以定义一个<ion-nav-bar>上面的a <ion-nav-view>,它作为整个应用程序的通用导航栏,我们可以在每个视图的基础上关闭它(使用ionNavView's hideNavBar=true|false.
它出现在Ionic 2中我们必须插入<ion-nav-bar>每页 - 并且不能为整个应用程序提供全局导航栏.这是正确的,还是我错过了一招?
如果是这样 - 似乎有很多重复的代码?
此外,看起来你没有能力让NavBar构建自己的后退按钮,你必须自己为后退按钮编写自己的标记(每页),这似乎是很多代码重复.
有人可以告诉我,如果使用错误回调与catch函数之间存在差异$q.promise吗?
例如两个代码片段在功能上是等价的吗?
function doSomething0() {
var deferred = $q.defer();
...
return deferred.promise;
}
doSomething0()
.then(doSomething1)
.then(doSomething2)
.then(doSomething3)
.catch(function (err) {
// do something with `err`
});
Run Code Online (Sandbox Code Playgroud)
与
function doSomething0() {
var deferred = $q.defer();
...
return deferred.promise;
}
function errorHandler(err) {
// do something with `err`
}
doSomething0()
.then(doSomething1, errorHandler)
.then(doSomething2, errorHandler)
.then(doSomething3, errorHandler);
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么要使用第二个呢?在我看来,它看起来更加丑陋并导致更多的代码重复?
请问有人可以澄清我什么时候会ion-nav-view反对ion-view?我正在学习AngularJS/Ionic(我对AngularJS有基本的了解;并希望使用Ionic来增强它).
我理解ion-nav-viewAngularUI路由器服务(?)的实现,这是必须的,以便在视图中具有嵌套视图.但是文档没有说明我应该在哪里使用其中一个?
所有文档的状态ion-view是:内容容器,用于告诉父ionNavBar当前视图.
但我已经看到了一个ion-view使用过的外部导航栏界面.
什么给出了什么?
我在从jQuery转换几年后学习AngularJS.有些位更加直观.有些不是很多:).
我试图了解承诺的使用,特别是使用$ http的$ q,并且似乎没有太多关于这两个组合的信息,我可以找到.
为什么我会使用promises代替成功/错误回调?他们都在现实中使用回调,那么为什么承诺会更好?我可以设置get(...)如下函数:
function get(url, success, error) {
success = success || function () {};
error = error || function () {};
$http.get(url)
.success(function (data) {
success(data);
})
.error(function (error) {
error(error);
});
}
get('http://myservice.com/JSON/',
function () {
// do something with data
},
function () {
// display an error
}
);
Run Code Online (Sandbox Code Playgroud)
哪个好(?)因为它让我可以完全控制正在发生的事情.如果我打电话,get(...)那么我可以在任何地方控制任何成功/错误get.
如果我将其转换为使用promises,那么我得到:
function get(url) {
return $http.get(url)
.then(function (data) {
return data;
},
function (error) {
return error;
}); …Run Code Online (Sandbox Code Playgroud) 对于某些Array原型函数,在MDN中的几个polyfill示例中,有以下两行(例如:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find):
var list = Object(this);
var length = list.length >>> 0;
Run Code Online (Sandbox Code Playgroud)
我认为第一个例子是自动装箱(?).但this无论如何,无论如何总是成为一个阵列,它的目的是什么呢?
第2行,这有何不同:
var length = list.length || 0;
Run Code Online (Sandbox Code Playgroud)
谢谢!
有人可以向我解释一下Cordova iOS插件的生命周期吗?
特别是,我有一个我试图开发的插件,其中包含一个UIView(和相关的UIViewController).
如何UIView从我的扩展CDVPlugin类中获取Cordova ,因此我可以将我的插件添加为子视图(这是它的工作原理吗?).
我想暂时显示我UIView的Cordova应用程序,然后解雇它,返回我的JS/HTML应用程序.
为模棱两可的标题道歉; 但是我试图将我们在Android和iOS上运行良好的PhoneGap应用程序移植到Windows Phone 8上(用jQuery Mobile/JavaScript,HTML和CSS3编写).
它的大部分工作(虽然我不得不改变几个位,但这是预期的).我目前遇到的一个主要问题是让我们的应用程序的滚动列表功能正常工作,以及签名捕获(我相信两者都是相关的).我不太确定问题出在哪里但是当我滚动/签名时,整个页面都会用我的手指移动,并且各个元素都不会接收触摸事件.我正在使用iScroll,jQuery 1.7.2和jQM 1.1.0; 但是,继续阅读因为滚动功能正在运行(签名功能一直是个问题)!
在滚动停止工作之前,我在页脚栏和页面底部之间存在间隙问题:

我被建议做的一件事是添加以下CSS; 它解决了"差距"问题:
@media screen and (orientation: portrait) {
@-ms-viewport {
width: 320px;
user-zoom: fixed;
max-zoom: 1;
min-zoom: 1;
}
}
Run Code Online (Sandbox Code Playgroud)

但是,它导致滚动功能无响应.整个页面向上/向下移动但不是列表元素,这与我想要的相反!我试过添加以下但没有运气:
-ms-touch-action: none;
Run Code Online (Sandbox Code Playgroud)
我把它添加到包含页面的div元素中.它停止了页面上下移动!然而,该名单仍然没有反应.但是,如果我删除这两个CSS类,那么滚动功能会再次起作用,但这会重新引入间隙问题.视口CSS类绝对是我认为的正确路线 - 但我不能,为了我的生活,让它以我喜欢的方式工作.
如果有人可以提供帮助,我们将不胜感激.
谢谢.