console.log()在Angular控制器内部无法正常工作

时间:2018-06-05 03:54:49

标签: angular controller console.log

有几个与此问题相关的帖子,但到目前为止我还没有找到解决方案。以下是Brad Dayley" Node.js第408-409页上的示例的略微修改。 MongoDB和Angular Web开发" (原版,不是第二版)。设置如下。

创建一个名为" test"的目录。 (或者你想要的任何东西)并在这个目录(1)中放置以下文件node_server.js,以及(2)创建一个名为" static"的子目录。

这是node_serve.js:

var express = require('express');
var app = express();
app.use('/', express.static('./static')).
    use('/images', express.static( '../images')).
    use('/lib', express.static( '../lib'));
app.listen(80);
console.log("in node_server.js");

接下来,在"静态"子目录(1)将以下文件放在first.html中。 (2)创建一个名为" js"。

的子目录

这是first.html:

<!doctype html>
<html ng-app="firstApp">
  <head>
    <title>First AngularJS App</title>
  </head>
  <body>
    <div ng-controller="FirstController">
      <span>Name:</span>
      <input type="text" ng-model="first">
      <input type="text" ng-model="last">
      <button ng-click='updateMessage()'>Message</button>
      <hr>
      {{heading + message}}
    </div>
    <script src="http://code.angularjs.org/1.2.9/angular.min.js"></script>
    <script src="/js/first.js"></script>
  </body>
</html>

接下来,在&#34; js&#34;子目录将以下文件放在first.js:

var firstApp = angular.module('firstApp', []);
firstApp.controller('FirstController', function($scope) {
  $scope.first = 'Some';
  $scope.last = 'One';
  $scope.heading = 'Message: ';
  $scope.updateMessage = function() {
    $scope.message = 'Hello ' + $scope.first +' '+ $scope.last + '!';
  console.log("in first.html");
  };
});

现在返回测试目录并使用

运行node_server.js文件

node node_server.js

您将在node_server.js&#34;中看到消息&#34;在此之后立即出现在终端中。

现在在http://localhost/first.html上打开网络浏览器。点击&#34;消息&#34;按钮。你会看到&#34;消息:Hello One One!&#34;出现在浏览器中,但终端中没有其他内容,即行

console.log(&#34;在first.html&#34;);

first.js中的

不会输出任何内容。所以问题是:这是为什么?

我尝试过使用静态&#34;作为first.js的第一行,但它没有帮助。

我猜测在控制器功能中使用console.log()无效的事实是Angular的固有设计特性,没有任何人可以做的事情来覆盖它。有谁知道这是否正确?

0 个答案:

没有答案