小编ram*_*n22的帖子

Wpf ICollectionView绑定项无法解析对象类型的属性

我已经绑定了GridView一个ICollectionView在XAML设计器中的属性未知,因为CollectionView已经转换为类型Object的实体并且无法访问实体属性,它运行良好没有错误但设计者将其显示为错误,如果我绑定到我可以访问属性的集合

示例实体是一个Person具有string Name属性的我将它们放在一个ObservableCollection<Person>并从中获取视图并将其绑定到GridView.ItemsSource现在当我尝试设置列标题DataMemberBinding.FirstName属性时,设计器将其显示为错误

无法在类型对象的数据上下文中解析属性'FirstName'

这是一个错误还是Resharper在我身上耍花招

示例代码:

public class Person 
{
    public string FirstName{
       get { return _firstName; }
       set { SetPropertyValue("FirstName", ref _firstName, value); }
    }
}
public class DataService 
{
    public IDataSource DataContext { get; set; }
    public ICollectionView PersonCollection{ get; set; }

    public DataService()
    {
        DataContext = new DataSource();
        //QueryableCollectionView is from Telerik 
        //but if i use any other CollectionView …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml icollectionview

12
推荐指数
1
解决办法
3774
查看次数

Tailwindcss 2 样式在 Angular 11 中不起作用

我正在一个新的 Angular 11 项目中尝试 Tailwindcss。我安装了以下开发包。

NOTE: Removed other packages for simplicity
"@angular-builders/custom-webpack": "^10.0.1",
"@angular-devkit/build-angular": "~0.1100.2",
"@angular/cli": "~11.0.2",
"@angular/compiler-cli": "~11.0.1",
"autoprefixer": "^10.0.2",
"postcss-import": "^13.0.0",
"postcss-loader": "^4.1.0",
"postcss-scss": "^3.0.4",
"tailwindcss": "^2.0.1",
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.scss$/,
        loader: 'postcss-loader',
        options: {
          postcssOptions: {
            ident: 'postcss',
            syntax: 'postcss-scss',
            plugins: () => [
              require('postcss-import'),
              require('tailwindcss'),
              require('autoprefixer')
            ]
          }
        }
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

样式.scss

@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";
Run Code Online (Sandbox Code Playgroud)

角度.json

"builder": "@angular-builders/custom-webpack:browser", //dev-server
"customWebpackConfig": { "path": "webpack.config.js" } …
Run Code Online (Sandbox Code Playgroud)

javascript webpack angular tailwind-css

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

Hapijs在一个连接上同时使用Http和Https

新来Hapijs,并试图用它来创建一个使用HTTPS所有请求的应用程序和HTTP重定向到安全connection.The问题是应用程序进去HTTPS模式没有问题,但如果我改变的URL为http服务器没有响应并且不知道原因.

这是我到目前为止所提出的,它可以工作但不适用于HTTP

var connectionOptions = {
    port: 3000,
    tls: {
        key: fs.readFileSync(path.join(__dirname, 'key/key.pem'), 'utf8'),
        cert: fs.readFileSync(path.join(__dirname, 'key/cert.pem'), 'utf8')
    }
};

var server = new Hapi.Server();
server.connection(connectionOptions);

//This method not called when its HTTP
server.ext('onRequest', function (request, reply) {
     if (request.headers['x-forwarded-proto'] === 'http') {
            reply.redirect('https://' + request.headers.host +
                            request.url.path).code(301);
            return reply.continue();
      }
      reply.continue();       
});

var routes = require('./routes')(server);
server.route(routes);

if (!module.parent) {
    server.start(function () {
         console.log('Server running at:', server.info.uri);
    });
 }
Run Code Online (Sandbox Code Playgroud)

如何强制所有请求为HTTPS.感谢您的帮助

security https hapijs

3
推荐指数
2
解决办法
4473
查看次数

更改后,Workbox Service Worker无法更新

我在Angular-cli-1.6.0中使用workbox-build-2.1.2和workbox-sw-2.1.2,并且一切正常,但是当我更新App并将其构建用于生产时,修改了sw.js文件然后在chrome浏览器中,service worker不会更新,它会继续使用旧版本,直到我手动取消注册为止。它是否应该不安装新的sw.js文件,并且在安装新版本时是否还可以清理兑现了旧数据的站点并自动启动新的备用数据库,还是我需要设置该部分?

这是我在Angulars主文件中注册sw.js的方法:

platformBrowserDynamic()
  .bootstrapModule(AppModule)
  .then(registerServiceWorker)
  .catch(err => console.log(err));

function registerServiceWorker() {
  if ('serviceWorker' in navigator) {
    navigator.serviceWorker
      .register('sw.js')
      .then(reg => {
        log('Registration successful', reg);
        reg.onupdatefound = () => {
          const installingWorker = reg.installing;
          installingWorker.onstatechange = () => {
            switch (installingWorker.state) {
              case 'installed':
                if (navigator.serviceWorker.controller) {
                  log('New or updated content is available', installingWorker);
                } else {
                  log('Content is now available offline', installingWorker);
                }
                break;
              case 'redundant':
                console.error('The installing service worker became redundant', installingWorker);
                break;
              default:
                log(installingWorker.state);
                break;
            }
          }; …
Run Code Online (Sandbox Code Playgroud)

node.js service-worker angular workbox

3
推荐指数
1
解决办法
4079
查看次数

带有重试和延迟的 Angular HttpClient 请求发送额外的请求然后取消它

我正在尝试使用Angulars HttpClient服务来发出请求,并进行多次尝试和延迟。该代码有效,但我注意到在 devTools 网络水龙头中,最终发送并取消了额外的请求。我在这里做错了什么是代码:

return this.http.post<LoginSuccessPayload>('/api/auth/signin', payload).pipe(
  retryWhen(errors => {
    return errors.pipe(
      mergeMap((er: any) => {
        if (er.status === 504 || er.status === 503) {
          return of(er.status).pipe(delay(1000));
        }
        return _throw({message: er.error.message || 'Notification.Core.loginError'});
      }),
      take(3),
      concat(_throw({message: 'Notification.Core.networkError'}))
    );
  })
);
Run Code Online (Sandbox Code Playgroud)

这是FirefoxChrome网络选项卡的图像,应该有三个请求,但它生成了四个请求并取消了最后一个请求 在此输入图像描述

javascript rxjs angular angular-httpclient

2
推荐指数
1
解决办法
9522
查看次数

mongoose 修复了唯一且稀疏且可以取空值的索引

我找到的大多数答案都来自旧帖子,我看到了部分索引,但没有关于如何使用它的好例子,而且当我再次启动 mongoose 时我启动了我的索引,但找不到关于如何设置它以使用部分索引的例子。

// db is read from a config file
mongoose.connect(db.uri, {autoIndex: db.autoIndex, useNewUrlParser: true});
Run Code Online (Sandbox Code Playgroud)

如果我希望像电子邮件这样的属性也是可选的并且是唯一的并被索引,但是当我将其设置更新为 null 或空白时,即使我强制它未定义也会导致重复错误。

这是我想出的解决方案,但他们有更好的方法,这是我所有荣耀的简化模型

let UserSchema = new mongoose.Schema({
  email: {
    type: String,
    lowercase: true,
    trim: true,
    index: {unique: true, sparse: true}
  }
});
// this run when creating a new user
UserSchema.pre('save', function (next) {
  if (this.email === null || this.email === '') {
    this.email = undefined;
  }
  next();
});
 // this runs when updating a user
UserSchema.pre('update', function () {
  const update …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

2
推荐指数
1
解决办法
915
查看次数