我的控制器:
$scope.totals = totals;
我的模板(按 html 注入的预期工作):
{{totals}}
但我需要的是访问变量totals
在模板的脚本中,如下所示:
<script>
var totals = ????;
// do stuff with totals
</script>
我试过了$scope.totals
, $totals
, {{totals}}
等,均无济于事。我将不胜感激任何见解,谢谢!
EDIT:
以下是我的控制器和模板的 jsfiddle。在模板内部我想插入一个使用$scope.totals
多变的。
http://jsfiddle.net/38CrC/ http://jsfiddle.net/38CrC/
首先,AngularJS 背后的想法是避免类似的情况。
就 AngularJS 而言,您最好重新考虑您的应用程序并使用指令来封装您当前在脚本标记中编写的代码。
然而,话虽这么说,有一种方法可以访问这样的范围:
var $element = $('#elementId');
var scope = angular.element($element).scope();
您可以阅读文档 http://docs.angularjs.org/api/angular.element更多细节。
但如前所述,在大多数情况下,这不是推荐的做法。
希望有帮助!
OP 发布 jsFiddle 后更新:
为了您的方便,我创建了一个工作 jsFiddlehttp://jsfiddle.net/jvandemo/hYnBa/1/ http://jsfiddle.net/jvandemo/hYnBa/1/
因为你的例子有一个简单的div
与ng-controller
属性,您可以像这样访问范围:
<script>
$(document).ready(function(){
var $element = $('div[ng-controller="AdminEventsCtrl"]');
var scope = angular.element($element).scope();
console.dir(scope);
});
</script>
发生的情况如下:
- 您选择元素(在本例中使用 jQuery)
- 您将元素包装为 AngularJS 元素(在元素上公开额外的方法)
- 你打电话给
scope()
元素上的方法
- 然后您可以访问范围属性,例如
scope.totals
希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)