如何将角度变量设置为查询字符串的值?

时间:2016-12-30 23:47:24

标签: angularjs

我的网址包含查询字符串,例如“www.website.php? feature1 = true& feature2 = false ”。

当我的页面加载时,我希望将角度变量设置为查询字符串变量的值,如下所示:

$scope.feature1 = $_POST['feature1'];
$scope.feature2 = $_POST['feature2'];

我该怎么做?谢谢。

2 个答案:

答案 0 :(得分:2)

您可以通过GET访问$routeParams参数(网址参数):

app.controller('CtrlName', ['$scope','$routeParams', function($scope, $routeParams) {
  $scope.feature1 = $routeParams.feature1;
  $scope.feature2 = $routeParams.feature2;
}]);

答案 1 :(得分:0)

假设您的Web入口点是一个php页面(或任何其他服务器端呈现的html页面,例如ASP.NET MVC View),我通常从服务器获取这些值为angular的方式是使用{{1} }函数,并在您引用角度应用程序后立即将其放在.php页面中。像这样:

constant

然后在您的控制器中,您只需注入常量:<script src="app.js" /> <script> angular .module('app') .constant("myConfig", { "feature1": "<?php echo htmlspecialchars($_POST['feature1']); ?>", "feature2": "<?php echo htmlspecialchars($_POST['feature2']); ?>" }); </script>

虽然有比这更方便的方法,但是当你传递查询字符串(可以通过JavaScript访问)时,使用这种方法你可以从服务器端代码传递任何东西。