将角度范围值传递给JavaScript变量

将角度范围值传递给JavaScript变量,javascript,angularjs,Javascript,Angularjs,我检查了中存在的类似问题,但我认为有点不同。我知道我们不需要将JavaScript与Angular一起使用。但是由于一些依赖性,我正在使用它 var ProfileApp = angular.module('ProfileApp', []); ProfileApp.controller('getprofile', function($scope,$http,$location){ $scope.searchok = 1; $scope.tn_id = '5'; -- S

我检查了中存在的类似问题,但我认为有点不同。我知道我们不需要将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>
当我运行代码时,我得到了警报框,但它没有显示值,并给我未定义的错误

编辑
简单地说,我想将$scope.tn\u id值分配给javascript变量tn\u id\u from\u angular

您可以将全局变量分配给
窗口
对象,然后检索它

警告:这是黑客领地。。我们在这里编写的代码不是很好,但它可能会工作

在角度代码中尝试以下操作:

// ...

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);
只要脚本在angular代码之后执行,它就会工作


如果没有,那么您需要找出某种“角度就绪回调”

所示内容在技术上应该可以正常工作。听起来更像是
$scope.tn\u id
在您尝试此分配和警报时未定义。显示调用警报的完整代码上下文。还需要明白,角度是正确的。我在文件加载时调用它,由于某种原因,直到那时它才加载。现在我把它移动到按钮点击,然后它工作了。我真的很蠢。你真的只是把OP所做的事情变得更加详细-读-显式。当你安装神秘黑客时总是一件好事
const {tn_id_from_angular} = window.hacks;
alert (tn_id_from_angular);