AngularJS:存储范围变量的值



我是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"
});

出于某种原因,我想在我的视图中添加一些使用"name"值的js代码,为此我必须将其存储在一个变量中。。但是不起作用

<script language="JAVASCRIPT">
    var name = {{name}};
</script>

但我不知道该怎么做。。请提供帮助:)

这种方式很长,但它很有效:

 <script type="text/javascript">
    setTimeout(function(){
        var name = angular.element(document.querySelector('[ng-controller="exempleCtrl"]')).scope().name;
        console.log(name)
    },5000)
 </script>

您不能在javascript中使用插值("{{variable}}")语法。您尝试在脚本标记中而不是在控制器本身中执行逻辑是有原因的吗?您的控制器是逻辑和视图之间的连接,因此您不需要在html中添加任何标签来执行该逻辑。

如果你真的想这么做。

<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代码

相关内容

  • 没有找到相关文章