如何使用传递给角度应用程序的ejs模板的JS变量?

use*_*525 1 ejs angularjs

给定一个用expressJS渲染的EJS模板,我有一个变量itemId.如何在MyCtrl控制器中使用它?

<script>x="<%=itemId%>"</script>
<div ng-controller="MyCtrl">

</div>
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经尝试过

<script>$scope.x=<%=itemId%></script>
Run Code Online (Sandbox Code Playgroud)

然后在控制器中,尝试获取它$scope.x但它不起作用.

The*_*One 7

如果是字符串或零填充数字,您可能需要在var周围添加引号.

<script>x="<%=itemId%>";</script>
<div ng-controller="MyCtrl">

</div>
Run Code Online (Sandbox Code Playgroud)

此外,您需要将其设置为您的$scope'd值(在您的控制器中).假设您的控制器位于代码中其他位置的另一个JS文件中

function MyCtrl($scope){
    $scope.x = window.x;
}
Run Code Online (Sandbox Code Playgroud)