Comments (3)
Hi @Nawsen,
After reading angular issues everywhere seems like aot compiler made lots of people happier with that change.
I find a fix by explicitly using join point decorator on the method and importing the advice rather than creating a new decorator expression.
@beforeMethod(log) // < works
decoratorTest(testString: string): void {
console.log('hello');
}
I don't understand very well what compiler is trying to achieve by forcing developers to do it that way.
workaround: Nawsen/kaop-ts-issue#1
please @mgechev, since you were on AOT stuff, AOP as well, can you give us some advice to properly solve this problem?
from kaop-ts.
@k1r0s Thanks for the response!
How would you go about supplying the advice with params from the component?
What we did before Angular 7:
@log('important')
decoratorTest(testString: string): void {
console.log('hello');
}
export function log(status: string) {
return beforeMethod(meta => {
console.log(status + ' annotation logging...');
});
}
As I see it, with your workaround this is not possible anymore, correct?
from kaop-ts.
it would be possible by just by doing a HOF:
export const log = (...args) => meta => {
console.log(...args)
}
@beforeMethod(log('important'))
decoratorTest(testString: string): void {
console.log('hello');
}
I know that this is quite weird but I don't know who to blame
from kaop-ts.
Related Issues (20)
- reexport inject and provider from kaop pkg
- allow access to `...advices` throught function prop
- advice order is wrong when on stacked joinpoints [breaking changes]
- promise based decorators? HOT 6
- [docs] Chinese | Russian translation
- An in-range update of ts-jest is breaking the build 🚨 HOT 3
- An in-range update of @types/node is breaking the build 🚨 HOT 4
- The automated release is failing 🚨
- after constructor advices no longer stack HOT 1
- Version 4.0.0 silently changes target to es6 HOT 2
- utility to clear all decorators HOT 1
- An in-range update of rollup is breaking the build 🚨 HOT 48
- Result of advise's first execution repeating itself in following executions when running all tests HOT 4
- applyAspect not fully reading proto chain HOT 1
- Prevents + Commit HOT 3
- declaration for module 'kaop' is needed HOT 6
- Advices on functions defined as properties HOT 2
- Async advices HOT 1
- How do I apply advices to all the methods in every class/component in angular? HOT 1
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 kaop-ts.