Step1
Yo need to determine how much the whole CSS file weights, after minified and G-zip Compressed... If is just a few kbs you should consider concatenating all your styles into one single file... remember you can always cache that file into the client's machine so it doesn't need to download the file every time the user loads the page...
Step2
If worth it... you should Isolate CSS rules for specific components... rules that you are not going to reuse in any other component.
Once you do this you will have two options:
If your component needs too many CSS rules... I would say more than 50 lines, it will become hard to maintain, since you wouldn't get IntelliSense from your IDE or any auto-indentation feature... so you may consider using: styleUrls: ['myfile.css']
and have these properties in its own file, easier to maintain and if you are using a CSS preprocessor to generate your CSS files... this will be a better approach.
Note that every time you load this component for the first time in your SPA your app will Request that CSS file from your server HTTP-REQUEST
.
However, if your component only requires a few lines for styling you may want to use
styles: ['h1{color:red}']
inline... this would load faster, since it prevent the app to make another HTTP request to your server to get the styles