如何从 HTML set/call angularJS 变量
How to set/call angularJS variable from HTML
我正在尝试使用 AngularJS 在 App 级别设置变量,然后在页面的整个文件中调用它们。
我正在尝试设置硬编码数字以传递给脚本中的函数。我可以让页面生成,所以我知道实际的 javascript 代码在工作,但我似乎没有正确的语法来 set/call 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);
};
}]);
因此,我终于设法通过在 UniversalController 上存储页面、级别和分区并删除所有参数来模拟我试图做的事情。
变量由初始 HTML 页面设置:
<script language="JavaScript" runat="server">
{{vPage = 0;""}}
{{vLevel = 0;""}}
{{vDivision = 0;""}}
</script>
我正在尝试使用 AngularJS 在 App 级别设置变量,然后在页面的整个文件中调用它们。
我正在尝试设置硬编码数字以传递给脚本中的函数。我可以让页面生成,所以我知道实际的 javascript 代码在工作,但我似乎没有正确的语法来 set/call 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);
};
}]);
因此,我终于设法通过在 UniversalController 上存储页面、级别和分区并删除所有参数来模拟我试图做的事情。
变量由初始 HTML 页面设置:
<script language="JavaScript" runat="server">
{{vPage = 0;""}}
{{vLevel = 0;""}}
{{vDivision = 0;""}}
</script>