0

我正在尝试通过条件 prod/dev 替换位置策略

console.log(IonicENV.mode) <= this loges true

然后

 { provide: LocationStrategy, useClass: (IonicENV.mode == "prod") ? PathLocationStrateg HashLocationStrategy }

虽然 IonicEnv.mode 返回 prod,但条件为真。但它总是使用 HashlocationStrategy。根本没有合乎逻辑的解释……</p>

如果我做

{ provide: LocationStrategy, useClass: (console.log(IonicENV.mode == "prod")) ? PathLocationStrategy : HashLocationStrategy }

然后一切都在服务器上正常工作。它符合真实条件并进入使用 pathLocationStrategy ......任何解释......任何人?

4

1 回答 1

0

console.log()总是返回undefined并且!!undefinedfalse。所以

(console.log(IonicENV.mode == "prod")) ? PathLocationStrategy : HashLocationStratege

是相同的

(false) ? PathLocationStrategy : HashLocationStratege // because of braces

和一样HashLocationStratege

于 2019-02-07T22:44:04.033 回答