Comments (10)
I'm not expert enough in Angular 2 to know the right thing to do here. Do you have an article somewhere explaining the different change detection strategies ?
And an example app that uses OnPush ?
from core.
I am just starting to figure it out as well and the documentation is not very good at this point of time.
I guess the best articles to start are:
http://victorsavkin.com/post/110170125256/change-detection-in-angular-2
http://victorsavkin.com/post/137821436516/managing-state-in-angular-2-applications
Give me some time and I will prepare a example for the case.
from core.
Thanks, I'll look at them this week end
from core.
I have a hard time to get this running for an example. Do you have a working jsfiddle or plunker with ng2-translate?
In the meantime I tested #31 and it perfectly fixes my issue. If I use directives instead of pipes in my application, everything gets updated perfectly even if OnPush is used.
from core.
@hpop but be aware, that you should be careful with html injection, since no sanitization will be performed.
I did a little bit of research because of @ocombe s concerns in #31, but I didn't found any lightweight solution for this problem.
from core.
It look like we might need to write a sanitization library for ng2
from core.
Hey @PascalPrecht any idea on how to make the pipe work with OnPush ?
from core.
I don't know if there's any event system implemented in ng2-translate yet, but if there's something like a translate service, it could expose an observable which fires when the languages changes. Then the pipe could subscribe to that service and it could use the changedetector ref to mark the path til root to be checked.
from core.
Thanks @PascalPrecht, it turns out that you can inject a ChangeDetectorRef
in a pipe (I found out by reading the AsyncPipe
source code). It should work now !
from core.
Honestly ngxtranslate doesn't play well with OnPush change detection, for every component which uses translate pipe you has to write a lot of same boilerplate code, so think twice before use this lib if you want use it alongside with OnPush.
Has to write some helper pipe to workaround this https://gist.github.com/baio/e1da9826806ae3bad639b194958cbdcc
from core.
Related Issues (20)
- reuse last loaded loder in standalone component which doesn't load by routes
- setTranslation is confusing the translation
- bump angular 17 HOT 3
- Translation keys are ignored when dot format and nested format are mixed
- How to handle import TranslateModule.forChild in module when creating a standalone component in an NgModule Application HOT 8
- How to use ngx-translate in Angular 17, Knowing that AppModule is not implemented? HOT 2
- Support for Angular v17 HOT 27
- ngx-translate creates billions of tiny files HOT 1
- Using ngx-translate in a standalone component HOT 3
- 'EventEmitter' and 'DefaultLangChangeEvent' is declared but its value is never read.
- Angular 17 SSR. Standalone implementation - NullInjectorError: No provider for _TranslatePipe! HOT 1
- I am trying to add Arabic language. I have configured package correctly but some labels are translated some are not
- Latency when loading the website, because Translation Key appears when user opens our website HOT 1
- Add opption to pass callback in translate pipe
- ncaught SyntaxError: Cannot use import statement outside a module (at scripts.js:16887:1) main.ts:13 Error: Unexpected value 'TranslateModule' imported by the module 'AppModule'. Please add an @NgModule annotation. at verifySemanticsOfNgModuleDef (core.mjs:28868:5) at core.mjs:28878:5 at Array.forEach (<anonymous>) at verifySemanticsOfNgModuleDef (core.mjs:28876:43) at AppModule.get (core.mjs:28833:23) at getInjectorDef (core.mjs:333:1) at walkProviderTree (core.mjs:5550:1) at core.mjs:5500:6 at core.mjs:4701:1 at Array.forEach (<anonymous>)
- Wrong TranslateHttpLoader after upgrade app to Angular 17
- ngx-translate not working with interceptor in Ionic Capacitor app
- Error: [$injector:unpr] Unknown provider: translateProvider <- translate
- Configuration: defaultLanguage in TranslateModule.forRoot as a Provider HOT 1
- ngx-translate.com is pointing another website HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from core.