使用angular获取信息到玉模板

时间:2014-01-14 18:53:24

标签: node.js angularjs pug

我正在开发一个简单的网络应用程序(新手),我正在使用jade / angular。我想要一个列表来显示一些信息,这就是我所拥有的:

layout.jade:

doctype
html(ng-app)
    head
        title= title
        script(type='text/javascript', src='javascripts/lib/angular.min.js')
        script(type='text/javascript', src='javascripts/lib/angular-resource.min.js')
        script(src='//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js')
        script(type='text/javascript', src='public/javascripts/app2.js')
        link(rel='stylesheet',type='text/css', href='/stylesheets/boostrap.css')
    body
        block content

index.jade:

extends layout

block content
    h1= title
    div(class="container" ng-controller="AppCtrl")
        h1 Angulair
        ul(ng-repeat="airport in airports") 
            li {{airport.code}}
            li {{airport.name}}
            li {{airport.destination}}

最后是app2.js:

function AppCtrl ($scope){
    $scope.airports = {
        "PDX": {
            "code": "PDX", 
            "name": "Portland", 
            "city": "Toronto"
        }
    }; 
}

编辑:这里的所有内容都是编辑......

我也在使用node,这就是我的项目的样子

node_modules/
public/
    img/
    javascripts/
        app2.js
        stylesheets/(bootstrap files in here)
routes/
    index.js
views/
    partials/
    index.jade
    layout.jade
app.js
package.json

另外,我正在为这个项目使用节点,在app.js中我打电话给:

app.get('/', routes.index);

index.js:

exports.index = function(req, res){
  res.render('index', { title: 'Angular Basic' });
};

正如你所看到的,非常简单的东西,但我似乎无法获得显示机场信息的列表。我是否正确地用角度包裹玉石模板?

我更改了layout.jade中的脚本以包含角度资源。现在什么都没有出现。我还在列表标签​​中的元素周围添加了括号,如下所示。仍然没有出现。

3 个答案:

答案 0 :(得分:0)

您需要添加应用模块名称

doctype
html(ng-app="appName")

然后在您的脚本中首先创建您的模块,然后创建控制器

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

myModule.controller("AppCtrl", function ($scope) { 
   // do your stuff
}

答案 1 :(得分:0)

问题出在您的li标记中,请使用{{ XXX }}打包您的属性

li {{ airport.code }}
li {{ airport.city }}
li {{ airport.name }}

答案 2 :(得分:0)

轮胎0011 +戴伟都是正确的。

这不是你的玉问题。这是一个包含tire0011 + Daiwei建议的工作样本:

http://plnkr.co/edit/q2DMGO0P50nWdf1PGlNJ?p=preview