Angular正在工作,但$ scope没有出现

时间:2017-11-14 15:59:51

标签: angularjs

我正在浏览Angular的教程。我已经尝试按照他们的开发指南进行搜索,我对Angular的所有版本都有些困惑。

我有一个小应用程序,一个待办事项应用程序,当应用程序加载主页模板时,我无法从我的HomeCtrl获取$ scope。当我加载主页模板时,它会显示除大括号{{}}中的范围调用之外的所有内容。

这是我对HomeCtrl.js的所作所为:

<body ng-controller="HomeCtrl"> 
<div> 
    <h2> hello there </h2>
    <h3> {{2+5}} </h3>
      I can add: {{ 1 + 2 }}.

    <p> {{$scope.hello}}</p>
    <p> {{ hello }} </p>
</div>
</body>

以下是我home.html的内容:

{{1}}

感谢您提供任何帮助或提示。

1 个答案:

答案 0 :(得分:4)

您无法在视图中使用$scope标识符(HTML)。 $scope只能在JavaScript中访问。

$scope的重点是,默认情况下,视图中的表达式将引用范围上的值。因此,如果您想访问$scope.hello,请将其称为hello,正如您所做的那样:

<p> {{ hello }} </p>

工作示例:

&#13;
&#13;
var blocitoff = angular.module('blocitoff', []);

blocitoff.controller('HomeCtrl', ['$scope', function HomCtrl ($scope) {                          
    $scope.hello = "no way bill it worked!";
}]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="blocitoff" ng-controller="HomeCtrl"> 
<div> 
    <h2> hello there </h2>
    <h3> {{2+5}} </h3>
      I can add: {{ 1 + 2 }}.

    <p> {{ hello }} </p>
</div>
</body>
&#13;
&#13;
&#13;