我的网址包含查询字符串,例如“www.website.php? feature1 = true& feature2 = false ”。
当我的页面加载时,我希望将角度变量设置为查询字符串变量的值,如下所示:
$scope.feature1 = $_POST['feature1'];
$scope.feature2 = $_POST['feature2'];
我该怎么做?谢谢。
答案 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访问)时,使用这种方法你可以从服务器端代码传递任何东西。