Как установить / вызвать переменную angularJS из HTML - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь использовать AngularJS для установки переменных на уровне приложения, а затем вызывать их по всем файлам для страницы.

Я пытаюсь установить жестко закодированные числа для передачи функциям в сценариях.Я могу заставить страницу генерировать, так что я знаю, что фактический код JavaScript работает, но у меня, кажется, нет правильного синтаксиса для установки / вызова переменных в файле HTML.

Так что же такоеправильный синтаксис для установки значений, чтобы я мог ссылаться на них?Так какой же правильный синтаксис для ссылки на значения для передачи в функцию?

Ниже приведены уменьшенные файлы для справки.

Index.html

<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular.min.js"></script>
        <script language="JavaScript" src="./App.js" runat="server">
            vApp.value("vPage", "0");
            vApp.value("vLevel", "0");
            vApp.value("vDivision", "0");
            vApp.value("vLayout", "./Layout.html");
        </script>
        <script language="JavaScript" src="./Universal.js" runat="server"></script>
        <script language="JavaScript" src="./Layout.js" runat="server"></script>
        <script language="JavaScript" src="./Custom.js" runat="server"></script>
    </head>
    <body id="idBody" ng-app="vApp">
        <any ng-include src="'Layout.html'"></any>
    </body>
</html>

Layout.html

    <any ng-controller="CustomController" ng-bind-html="getContent($rootScope.vPage)"></any>

App.js

var vApp = angular.module("vApp", []);

Custom.js

    vApp.controller("CustomController", ['$scope', '$sce', '$rootScope', function ($scope, $sce, $rootScope, vPage)
{
    $scope.getContent = function(vPage)
    {
        $scope.vResult = "";
        $scope.vDefault = "";

        $scope.vDefault += "Zero";

        $scope.vResult += "<p id='idCenterContent'>";
            if(vPage == 0)
            {
                $scope.vResult += $scope.vDefault;
            }
            else if(vPage == 1)
            {
                $scope.vResult += "One";

            }
            else if(vPage == 2)
            {
                $scope.vResult += "Two";

            }
            else if(vPage == 3)
            {
                $scope.vResult += "Three";

            }
            else
            {
                $scope.vResult += $scope.vDefault;
            }

        $scope.vResult += "</p>";

        return $sce.trustAsHtml($scope.vResult);
    };
}]);

1 Ответ

0 голосов
/ 19 ноября 2018

Итак, мне наконец-то удалось выучить достаточно, чтобы смоделировать то, что я пытался сделать, сохранив страницу, уровень и разделение на UniversalController и удалив все параметры.

Переменные задаются исходной HTML-страницей:

<script language="JavaScript" runat="server">
        {{vPage = 0;""}}
        {{vLevel = 0;""}}
        {{vDivision = 0;""}}
    </script>
...