Comments (3)
While we could make this change, there is a broader question about pure pipes usefulness with signals. Our thinking was that most of the pure pipe usages would be replaced by computed
. Would this work for your case? If not, could you share more about your particular scenario?
from angular.
A computed would certainly work.
I think pipes are a somewhat easier way of reusing data transformation logic in templates than having to expose a computed signal inside the components.
Let's imagine that the date pipe uses a globally configured signal holding the timezone or the locale, or the preferred pattern. I prefer having to import DatePipe and be able to use {{ someObject().someDate | date }}
, than having to add
formattedDate = computed(() => formatDate(someObject().someDate));
to the component.
This is even truer if the pipe is used repeatedly inside a for loop for example.
If Angular was designed from scratch around signals now, my guess is that pipes would not exist. But since they do, I think they should work in the most intuitive way, and be consistent with the rest of the framework, where a signal change causes the template to be refreshed.
TBH, I don't have a real specific use-case here. This issue came out in a question in the Angular Discord, where someone else asked whether updating a signal would cause the pipe to be reexecuted.
from angular.
Well, I guess what you'd really like to do is something like this: signal() | mappingFunction
and all you have to do is provide a source signal and a pure function. The computed
part is done for you.
from angular.
Related Issues (20)
- Link gets broken with space character in its end HOT 1
- solution HOT 1
- Missing documentation for global `ng` variable HOT 1
- Some examples not showing in router API docs page HOT 1
- Cannot run test with ChromeHeadless in Continuous Integration HOT 1
- Missing documentation for InjectionToken HOT 1
- Page Not Found 🙃 - List of pipes HOT 1
- angular.dev NgOptimizedImage docs not up-to-date
- Support VSCode intellisense for `@Attribute` / `HostAttributeToken` usage. HOT 5
- Provide a option to print an error report in the browser if Angular failed to launch due to a JS error HOT 7
- Page not found HOT 1
- ChangeDetection is not triggered after http put when using provideExperimentalZonelessChangeDetection on Angular 18 HOT 7
- ng update does not migrate the asset folder to the new public folder HOT 3
- @else if and signals narrowing HOT 1
- Standalone component with angular element not working with prod build HOT 1
- Combination of redirecting under a primary route and route guarding a sibling route under a named outlet causes NG04013
- ESBuild (build-angular:application) with ng build --base-href not working as expected HOT 1
- `TestBed.overrideProviders` does not override providers of imported standalone directives HOT 3
- App crash when using ngFor with mapped data and a routerLinkActive directive inside the loop. HOT 2
- FetchBackend expects case sensitive 'Content-Type' HOT 5
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 angular.