将Angular与Express-Handlebars一起用于Node.js应用程序

时间:2017-04-25 17:22:49

标签: angularjs node.js express express-handlebars

我有一个运行Express的node.js应用程序,并将把手表达为模板框架。我最近开始学习Angular并将其集成到我的node.js应用程序中。

唯一的问题是,快速把手和角度的标记是相同的。两个框架都使用{{}}。我做了一些研究,发现了这个Stackoverflow问题:Using Express Handlebars and Angular JS

接受的答案建议使用interpolateProvider更改标记符号。我实现了这个并且它对我不起作用(我已根据该答案评论过)。

我的代码如下所示:

main.handlebars

<!DOCTYPE html>
<html ng-app="myapp">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>GETTING STARTED WITH Angular</title>
        <meta name="description" content="An interactive getting started guide for Brackets.">
        <link rel="stylesheet" href="/css/style.css"/>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-route.min.js"></script>
        <script>
            var app = angular.module("myApp", []);
            app.config(function($interpolateProvider) {
                $interpolateProvider.startSymbol('//');
                $interpolateProvider.endSymbol('//');
            });


            app.controller('DemoController', function() {
                this.label = "This binding is brought you by // interpolation symbols.";
            });
        </script>
    </head>
    <body>
        {{{body}}}

        <input ng-model="name">
        <h3>Hi, //name// how are you doing</h3>

        <div ng-controller="DemoController as demo">
            //demo.label//
        </div>
    </body>
</html>

上面的代码来自main.handlebars布局文件。我甚至试图将该代码放在实际视图中,但它不起作用。我错过了什么?

感谢。

1 个答案:

答案 0 :(得分:2)

由于应用名称引用不正确或输入错误而导致出现此问题。将ng-app =“myapp”更改为 ng-app =“myApp”