Почему мои выражения Angular.js не работают - PullRequest
0 голосов
/ 02 сентября 2018

Я очень плохо знаком с Angular.js, и я не могу заставить мое выражение отображать значения из моего контроллера, он просто видит его как строку, когда я его просматриваю. Понятия не имею почему. Я скучаю по чему-то супер очевидному? Любая помощь будет оценена.

Я также использую node.js просто для настройки моего локального сервера, но я не верю, что это проблема.

var appdemo = angular.module('appdemo', []);

appdemo.controller('ctrl', function($scope) {
  $scope.value1 = 1;
  $scope.value2 = 2;

  $scope.updateValue = function() {
    $scope.x = $scope.value1 + ' x ' + $scope.value2 +
      " = " (+$scope.value1 + +$scope.value2)
  };

});
<!DOCTYPE html>
<html ng-app="appdemo">

<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>appdemo</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
  <div ng-controller="ctrl">
    <span>times</span>
    <input type="text" ng-model="value1" />
    <input type="text" ng-model="value2" />

    <button ng-click="updateValue()">total</button> {{x}} {{ value1 }}
  </div>

  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js">
  </script>
  <script src="main.js"></script>
</body>

</html>
это мой локальный сервер, который не совсем уверен, если все сделано правильно.
 const express = require('express')

 const app = express()

 app.use(express.static("public"))

 app.engine("html", require("ejs").renderFile)
 app.set("view engine", "html")
 app.set("views", "./views")

 app.get("/", (req, res) =>{
 res.render("index")

 })

 app.listen(3000, ()=>{
 console.log("Running on port 3000...")
})

структура файла:

 node_mdodules
 public
    css
 views
    index.html
    main.js 
 app.js
 package-lock.json
 package.json

1 Ответ

0 голосов
/ 02 сентября 2018

Предположим, у вас есть следующая структура папок:

-App name
    -public
       -html
          -index.html
       -js
          -main.js
       -style.css
    -server.js //Or any other name for your node js server

На вашем сервере js вы должны использовать свойство __dirname:

app.use(express.static(__dirname + '/public'));

Затем в вашем html замените скрипт импорта на это:

<script src="/js/main.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...