我是AngularJS的初学者,我尝试了以下代码(来自教程):
我的观点:
<div ng-app="app">
<div ng-controller="exempleCtrl">
HELLO {{name}}!
</div>
我的控制器:
var app = angular.module("app", []);
app.controller("exempleCtrl", function($scope) {
$scope.name = "World"
});
出于某种原因,我想在我的视图中添加一些使用&#34; name&#34;的值的js代码,为此我必须将它存储在一个变量中..但是这并没有。工作
<script language="JAVASCRIPT">
var name = {{name}};
</script>
但我不知道该怎么做..请帮忙:)。
答案 0 :(得分:2)
这种方式很长但是有效:
<script type="text/javascript">
setTimeout(function(){
var name = angular.element(document.querySelector('[ng-controller="exempleCtrl"]')).scope().name;
console.log(name)
},5000)
</script>
答案 1 :(得分:1)
您不能在javascript中使用插值(&#34; {{variable}}&#34;)语法。您是否有理由尝试在脚本标签中而不是在控制器本身中执行逻辑?您的控制器应该是您在逻辑和视图之间的连接,因此您不需要在html中添加任何标记来执行该逻辑。
答案 2 :(得分:1)
如果你真的想这样做。
<div ng-app="app">
<div id="myCtrl" ng-controller="exempleCtrl">
{{name}}
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
var elem = document.getElementById('myCtrl');
var name = angular.element(elem).scope().name;
console.log(name);
});
</script>
请参阅jsfiddle代码