日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP Spartacus 里 对 isPlatformBrowser API 的使用

發布時間:2023/12/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP Spartacus 里 对 isPlatformBrowser API 的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

window-ref.ts 里的 isBrowser API,封裝的是 Angular 標準 API,isPlatformBrowser:

來自 @angular/common:

isBrowser(): boolean {// TODO(#11133): Remove condition when platformId will be always providedreturn this.platformId? isPlatformBrowser(this.platformId): typeof window !== 'undefined';}

這是 @angular/common 里標準的 api:

https://angular.io/api/common/isPlatformBrowser

然后單擊進去之后,看不到具體的實現代碼:

@publicApi

export declare function, 其用法解釋:

Declare vs. var

var creates a new variable. declare is used to tell TypeScript that the variable has been created elsewhere. If you use declare, nothing is added to the JavaScript that is generated - it is simply a hint to the compiler.

For example, if you use an external script that defines var externalModule, you would use declare var externalModule to hint to the TypeScript compiler that externalModule has already been set up

export declare class Action{ ... }

The class’s real implementation is probably in somewhere else - maybe a .js file.

declare 提示了 Action 的實際實現一定在另一個位置,很可能是某個 .js 文件里。

TypeScript 幫助文檔里對 declare 關鍵字的解釋:

The TypeScript declare keyword is used to declare variables that may not have originated from a TypeScript file.

TypeScript 的 declare 關鍵字,用于聲明一個變量,其原始定義可能并不是來自一個 TypeScript 文件。

For example, lets imagine that we have a library called myLibrary that doesn’t have a TypeScript declaration file and have a namespace called myLibrary in the global namespace. If you want to use that library in your TypeScript code, you can use the following code:

declare var myLibrary;

The type that the TypeScript runtime will give to myLibrary variable is the any type. The problem here is that you won’t have Intellisense for that variable in design time but you will be able to use the library in your code.

Another option to have the same behavior without using the declare keyword is just using a variable with the any type:

var myLibrary: any;
Both of the code examples will result in the same JavaScript output but the declare example is more readable and expresses an ambient declaration.

報錯:uncaught referenceError: myLibrary is not defined


更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的SAP Spartacus 里 对 isPlatformBrowser API 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。