Javascript 在视图中访问AngularJS变量?

Javascript 在视图中访问AngularJS变量?,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,考虑只有一个控制器的基本AngularJS应用程序。在控制器内部,我设置了“myVariable”来保存一个值“Test” 视图中给了我一个内联JavaScript代码,我需要调用一个函数samplefunction,它使用myVariable获取一个参数 /* Controllers */ angular.module('myApp.controllers', []) .controller('MainCtrl', ['$scope', function($scope) {

考虑只有一个控制器的基本AngularJS应用程序。在控制器内部,我设置了“myVariable”来保存一个值“Test”

视图中给了我一个内联JavaScript代码,我需要调用一个函数samplefunction,它使用myVariable获取一个参数

/* Controllers */

angular.module('myApp.controllers', [])
    .controller('MainCtrl', ['$scope', function($scope) {

        $scope.myVariable = "Test";

    });
在视图中,在html文件中,我需要执行以下操作:

<script type="text/javascript">

    var param1 = {{myVariable}};   /* <-- how to make this work?  */
    samplefunction( param1 );   

</script>
但这也不起作用。 请注意,我无法在视图中调用给定的JS代码


有人知道如何解决这个简单的问题吗?

将var传递给$window以将其公开给您的JS


$window.myVariable=$scope.myVariable

如何将范围变量绑定到视图中某个元素的data-something属性,然后在外部脚本标记中使用Jquery将其拉入

<script type="text/javascript">  
    var param1 = $("#someId").data("myValue");
    samplefunction( param1 );   
</script>

var param1=$(“#someId”).data(“myValue”);
样本函数(param1);

从我的观点来看,你正在做的事情不应该做。最接近正确的方法应该是:

使用角度的使用方式设置视图的值:

<input type="text" ng-model="myVariable" id="myVar" />

如果您想获得var值,请从视图中获取它,如:

<script type="text/javascript">  
    var param1 = document.getElementById("myVal").value;
    samplefunction( param1 );   
</script>

var param1=document.getElementById(“myVal”).value;
样本函数(param1);

angular.element(document.getElementById(“mainBody”)).scope().myVariable
应该可以工作-我试图做的是什么输出,但没有工作。。。samplefunction($window.myVariable)在您的Winnilla JS中是该函数吗?还是角度?
<script type="text/javascript">  
    var param1 = document.getElementById("myVal").value;
    samplefunction( param1 );   
</script>