for correct display in editors? I created this AngularJS routing app that allows me...">

How to get HTML in <script type = "text / ng-template" ...> for correct display in editors?

I created this AngularJS routing app that allows me to have all pages not in separate files .htm

, but all on one page with separate page content in ng-template elements script

.

While this works, the problem is that NetBeans and PHPStorm do not recognize the HTML in the script tag and therefore do not format it properly.

How can I change this so that I can edit this one file in the editor?

<html ng-app="mainApp">
    <head>
        <script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-route.js"></script>
        <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
        <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
        <link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" rel="stylesheet" />

        <style type="text/css">
            [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
                display: none !important;
            }     
            a:focus {
                outline: none;
            }
        </style>        
    </head>    
    <body ng-cloak ng-controller="mainController">
        <nav class="navbar navbar-default">
            <div class="container-fluid">
                <div class="navbar-header">
                    <div class="navbar-brand">AngularJS Routing</div>
                </div>
                <div>
                    <ul class="nav navbar-nav">
                        <li><a href="#"><i class="fa fa-home"></i> Home</a></li>
                        <li><a href="#about"><i class="fa fa-shield"></i> About</a></li>
                        <li><a href="#contact"><i class="fa fa-comment"></i> Contact</a></li>
                    </ul>
                </div>
            </div>
        </nav>

        <div class="col-lg-12">
            <div ng-view></div>
        </div>      

        <script type="text/ng-template" id="/home.htm">
            <div class="jumbotron">
                <h1>Home</h1>
                <p>{{subtitle}}</p>
            </div>
        </script>
        <script type="text/ng-template" id="/about.htm">
           <div class="jumbotron">
                <h1>About</h1>
                <p>{{subtitle}}</p>
            </div>
        </script>
        <script type="text/ng-template" id="/contact.htm">
           <div class="jumbotron">
                <h1>Contact</h1>
                <p>{{subtitle}}</p>
            </div>
        </script>        

        <script>
                            var mainApp = angular.module('mainApp', ['ngRoute']);
                            mainApp.config(function ($routeProvider) {
                                $routeProvider
                                        .when('/', {
                                            templateUrl: '/home.htm',
                                            controller: 'mainController'
                                        })
                                        .when('/about', {
                                            templateUrl: '/about.htm',
                                            controller: 'aboutController'
                                        })
                                        .when('/contact', {
                                            templateUrl: '/contact.htm',
                                            controller: 'contactController'
                                        })
                                        .otherwise({
                                            redirectTo: '/'
                                        });
                            });
                            mainApp.controller('mainController', function ($scope) {
                                $scope.subtitle = 'the home page';
                                $scope.message = '';
                                $scope.$on("$destroy", function () {
                                    myData.message = $scope.message;
                                });
                            });
                            mainApp.controller('aboutController', function ($scope) {
                                $scope.subtitle = 'the about page';
                            });
                            mainApp.controller('contactController', function ($scope) {
                                $scope.subtitle = 'the contact page';
                            });
        </script>
    </body>
</html>

      

+3


source to share


1 answer


With PHPStorm, I believe this feature is called "language injection".

You can read about how to set up here .



I'm not sure about netbeans, maybe it doesn't have a function.

+1


source







All Articles