Angular 常見問題解答

--------------------Image from tanaka_tatsuya on Instagram-----------------------------

  1. ng6, TypeError: _this._driver.validateStyleProperty is not a function

    把@angular/animations 升級/降級到 6.0.5就好了

  2. Uncaught (in promise): Error: Type is part of the declarations of 2 modules:

    重複聲明了,刪除一個就行了

  3. zorro 0.7 對應 rxjs5 + less2

    zorro1.* 可以搭配ng6使用,注意版本

  4. 解決了tslint報錯,錯誤提示依然存在

    刪掉報錯部分,重新錄入就可以了

  5. file is not a module angular

    包沒有引對,重啟一下項目,根據報錯排查排查

  6. nzPageSize="pageSize" 和 [nzPageSize]="pageSize"的區別

    前者為賦值,後者為屬性綁定

  7. Cant bind to ngModel since it isnt a known property of ...

    Template-driven表單沒有引入FormModule

  8. StaticInjectorError(AppModule) 靜態注入錯誤 NullInjectorError: No provider for ...

    依賴注入報錯,需要在對應的component, module的元數據中加入providers: [服務名]

  9. Cant bind to formGroup since it isnt a known property of form

    使用Reactive Form卻沒有引入相應模塊

  10. rxjs 從5升級到compat,再到6,import 操作符報錯

    引入路徑發生了較大變化,要多查查官網示例,例如在在rxjs6中,import { map } from rxjs/operators;

  11. Property http does not exist on type...

    ng5之後,要引入httpClientModule,並且注入httpClient服務才能使用網路服務

  12. ERROR Error: No component factory found for * . Did you add it to @NgModule.entryComponents? -angularjs

    使用場景:add dynamically created components to entryComponents inside your @NgModule 動態創建組件;在父級組件中的元數據配置一下即可,如下;In some cases entryComponents under lazy loaded modules will not work, as a workaround put them in your app.module (root) 在懶載入模塊中可能不會生效

  13. Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.

    change detect造成了,所以可以從這方面處理,使用onpush + changeDetectRef

  14. npm uninstall -g @angular/cli not work ---> 命令行提示up to date

    安裝指定版本cli, 則直接覆蓋了原來的,cli全局版本高於本地版本也可以跑,推薦使用npx來安裝

  15. npm warn registry unexpected warning for https

    1. npm cache clear --force 卸載cli之後,一定要清理npm緩存
    2. 刪除node_modules文件夾
    3. 刪除package-lock.json文件
    4. npm install/yarn即可

16. 安裝node-sass出錯

sass被牆了, 1. npm config set sass_binary_site npm.taobao.org/mirrors/ 2. npm install --save-dev node-sass

17. 接手別人的項目怎麼最快的把項目跑起來?

    1. 確保OS, node, npm, ng的版本 例如sass需要ruby環境中編譯
    2. 刪除package-lock.json文件,然後npm cache verify/npm cache clear --force 清除緩存
    3. 把項目(帶上node包)的文件copy過來,直接本地跑

18. Failed at the phantomjs-prebuilt install script node install.js npm安裝phantomjs不成功,咋整?

老版本的都沒有辦法 ??,棄了

19. 使用loadChildren實現懶載入的時候,一切都似乎配置正確,但是頁面上似乎沒有顯示內容


推薦閱讀:

TAG:Angular | 前端開發 | 前端框架 |