0

我是 AngularJS 的新手。

我正在关注MEAN Stack Intro:构建端到端应用程序

我有简单的 html 文件来测试

索引.html

<html>

    <head>
        <meta charset="utf-8">
        <title>Stack POC</title>
        <script type="application/javascript" src="app/scripts/controllers/user_controller.js"></script> 
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
    </head>
    <body ng-app="userListApp">
        <div ng-controller="userListController">
            <h1>No of users {{userCounts}}</h1>
        </div>
    </body>
</html>

应用程序/脚本/控制器/user_controller.js

angular.module('userListApp', []).controller('userListController', function($scope){ 
                $scope.userCounts = 10;
                });

但是当我尝试运行它时,它并没有给出。

用户数 {{ userCounts }}

而不是10计数。

我正在使用来运行开发服务器。

gulpfile.js

var gulp = require('gulp'),
    connect = require('gulp-connect');

gulp.task('serve', function() {
    connect.server({
        root: '.',
        port: 8888
    }); 
}); 

gulp.task('default', ['serve']);

包.json

{
  "name": "poc",
  "version": "1.0.0",
  "description": "",
  "main": "gulpfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "gulp": "^3.9.1",
    "gulp-connect": "^3.2.2"
  }
}

使用 45.0.2 查看此页面。

4

2 回答 2

1

您没有在脚本中的任何地方实例化 AngularJS 应用程序。您需要将应用程序名称作为参数提供给ng-appinbody标记并修改script

该功能userListController需要使用app.controller.

请参考以下工作小提琴:

https://jsfiddle.net/akonchady/7kfv4ssk/1/

于 2016-04-20T17:41:41.150 回答
1

那是因为您只提供了一个功能而没有提供完整的控制器。

尝试这样的事情:

<html>
    <head>
        <meta charset="utf-8">
        <title>Stack POC</title>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script> 
        <script>
        angular.module('userListApp', []).controller('userListController', function($scope){
            $scope.userCounts = 10;
        });
        </script>
    </head>
    <body ng-app="userListApp">
        <div ng-controller="userListController">
            <h1>No of users {{ userCounts }}</h1>
        </div>
    </body>
</html>

userListApp您需要一个由 angular.module() 函数创建的模块(我在您的示例中命名)。第二个参数是依赖项(空数组表示无)。在该模块上,您可以构建一个控制器。您必须将$scope其作为参数传递给控制器​​函数才能在您的示例中使用它。在控制器中,您可以像在上一个函数中尝试的那样分配引用的变量。

于 2016-04-20T17:43:15.490 回答