我最近碰到了微软的一个奇怪的功能:
假设我们的文件夹c:\tmp123包含3个文件 -
1.txt
2.txtx
3.txtxt
a)Directory.GetFiles(@"C:\tmp123", "*.txt")在3个退货项目中调用收益率.
b)Directory.GetFiles(@"C:\tmp123", "*.txtx")在1个退回的项目中调用收益率.
据微软称,这是预期的行为(参见MSDN中的注释).
我的问题是:
为什么微软决定拥有这样一个奇怪的功能?
我怎样才能克服这个问题?
即我怎么有一个搜索模式,将返回*.txt唯一的扩展,而不是返回*.txtx,*.txtstarngefunctionality等?
我正在使用下面的状态定义(UI-Router's).一旦我调用$ state.go('products.new'),控制器(ProductCtrl)就会被调用两次.
由于某种原因,UI路由器"忘记"原始状态更改并仅基于URL调用控制器(在这种情况下确实不明确).
如果我直接到达页面(深层链接),控制器将被调用一次.
有什么建议如何使其工作?
.state('products', {
abstract: true,
template: "<div ui-view></div>"
})
.state('products.product', {
url: '/products/:productId',
templateUrl: 'views/productView.html',
controller: 'ProductCtrl'
})
.state('products.new', {
url: '/products/new',
templateUrl: 'views/productView.html',
controller: 'ProductCtrl'
})
Run Code Online (Sandbox Code Playgroud)