我在SO中检查了现有的类似问题,但我认为它有点不同。我知道我们不需要使用JavaScript和Angular。但是由于一些依赖性,我正在使用它。
var ProfileApp = angular.module('ProfileApp', []);
ProfileApp.controller('getprofile', function($scope,$http,$location){
$scope.searchok = 1;
$scope.tn_id = '5';
-- Some Angular Codes are here ---
我想将 $ scope.tn_id 值添加到JavaScript变量中。我试着喜欢这个。
<script type="text/javascript">
var tn_id_from_angular;
</script>
在Angular代码之前定义变量。在Angular代码中添加了以下代码。
tn_id_from_angular = $scope.tn_id;
alert (tn_id_from_angular);
当我运行代码时,我收到警告框,但它没有显示值并且给我错误未定义。
简单来说,我想将 $ scope.tn_id 值分配给javascript变量 tn_id_from_angular 。
答案 0 :(得分:1)
您可以将全局变量分配给window
对象,然后将其检索
警告:这是一个hacky领域..我们这里没有制作好的代码,但它可能有效
在你的角度代码中尝试这个:
// ...
var ProfileApp = angular.module('ProfileApp', []);
ProfileApp.controller('getprofile', function($scope,$http,$location){
$scope.searchok = 1;
$scope.tn_id = '5';
window.hacks = {tn_id_from_angular: $scope.tn_id};
// ...
然后在你的脚本中:
const {tn_id_from_angular} = window.hacks;
alert (tn_id_from_angular);
只要脚本在角度代码之后执行 - 它应该可以正常工作
如果它没有,那么你需要找出某种&#34;角度准备好的回调&#34;