问题
I'm trying to make a collapsible navbar with the help of MaterializeCSS when used on mobile screen and need to use JavaScript code in it. Where should I write this JavaScript code?
This is the code I want to use:
**$(document).ready(function(){
$('.sidenav').sidenav();
});**
回答1:
Step-1: Created a js folder inside the assets folder.
Step-2: Created a new .js file inside the js folder. Assets -> js -> example.js
Step-3: Added path of the example.js in angular.json inside the scripts array.
Step-4: Declared the js function created in example.js inside the component.ts file where that function is needed.
Step-5: Made a call to the declared function inside ngOnInIt().
回答2:
- Install jQuery
npm install jquery
- Install MaterializeCSS
npm install materialize-css@next
- Install types
npm install --save @types/materialize-css @types/jquery
- Open
angular.json
and findscripts
field - Add
node_modules/jquery/dist/jquery.min.js
andnode_modules/materialize-css/dist/js/materialize.min.js
inside array:
"scripts": [ "node_modules/jquery/dist/jquery.min.js", "node_modules/materialize-css/dist/js/materialize.min.js" ]
- Go to your component and add at the top
declare var jQuery: any;
Example
(function ($) {
$('.sidenav').sidenav();
})(jQuery);
You can use that inside ngOnInit
.
回答3:
Find and open angular.json
, then add to projects.architect.build.options
object next field and change filepath to your own:
"scripts": [
"path/to/js/you/want/use.js"
]
Angular will add those custom files to result build
来源:https://stackoverflow.com/questions/53482324/how-can-i-use-javascript-code-in-angular-7