双花括号不显示我想要的内容。

7 浏览
0 Comments

双花括号不显示我想要的内容。

我只是在测试中将一个AngularJS构建推到Heroku上,但它在双花括号中并没有显示我想要的内容。不确定问题在哪里,因为我的srcs似乎是正确的。

这是我的index.ejs文件:

{{rantList.piece.name}}

{{rantList.piece.paragraph}}

{{"Hello"}}

这是我的app.js文件:

(function(){

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

app.controller('RantController', function(){

this.piece = rant;

});

var rant = {

name: 'First User',

paragraph: '....',

}

})();

这是我的server.js文件:

var express = require('express');

var app = express();

// set the port of our application

// process.env.PORT lets the port be set by Heroku

var port = process.env.PORT || 8080;

// set the view engine to ejs

app.set('view engine', 'ejs');

// make express look in the public directory for assets (css/js/img)

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

// set the home page route

app.get('/', function(req, res) {

// ejs render automatically looks in the views folder

res.render('index');

});

app.listen(port, function() {

console.log('Our app is running on http://localhost:' + port);

});

在双花括号中,它显示rantList.piece.name而不是First User(第一个例子),在第二个例子中它显示{{"Hello World"}}而不是Hello World。

感谢您的时间,我对此还不太熟悉,希望能得到任何帮助。

0
0 Comments

(Double curly backets not displaying what I want)这个问题出现的原因是页面中的双大括号不能显示期望的内容。解决方法是检查浏览器控制台是否有错误,并确保所有资源都使用https加载。

根据你提供的信息,你可能在使用Heroku域名。Heroku域名只能通过https访问,并且Chrome不会在https网址上加载非https资源,所以你需要确保所有资源都是https的。

在你的情况下,你的angular和boostrap库没有通过https加载。幸运的是,这些CDN支持https,所以你只需要将URL更改为以下内容:

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>

你的浏览器控制台可能会报告类似以下内容的错误:

Mixed Content: The page at 'xxx' was loaded over HTTPS, but requested an insecure script 'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js'. This request has been blocked; the content must be served over HTTPS. 

这就是为什么你应该始终检查控制台中是否有错误。大多数情况下,控制台会告诉你问题所在。

另外,你的app.js路径看起来是错误的。/../app.js不是一个有效的URL。在没有看到你的文件结构之前,很难确定正确的路径,但如果参考angular种子项目的话,应该只是这样的:

<script type="text/javascript" src="app.js"></script>

同样,如果URL不正确,控制台会告诉你。

好的,我将我的URL更改为https。是的,我一直在检查控制台是否有错误。我得到了两个错误,一个是app.js的404错误,另一个是angular.min.js的Uncaught Error: [$injector:modulerr]。我应该将app.js文件放在与index一起的views文件夹中以便更容易访问吗?我尝试了不同的路径,但都没有成功。至于未捕获的错误,我不知道如何解决。我尝试了包括ng-route并将其加载为依赖模块,但没有成功。

你可以将app.js文件放在任何你喜欢的位置,只需确保src路径正确即可。如果你创建了一个js文件夹,那么src路径将是"js/app.js"。如果它在根目录下(如angular-seed),那么路径就是"app.js"。我不知道你从哪里得到"/../app.js",但它肯定不是一个有效的路径。关于你的另一个问题,这个Stack Overflow的答案可能会有所帮助: stackoverflow.com/questions/21045416/…

0