【问题标题】:Angular Not Binding with JadeAngular 不绑定 Jade
【发布时间】:2013-10-15 23:51:29
【问题描述】:

我在使用 Angular 和 Jade 进行简单绑定时遇到了一些麻烦。我已阅读先前的答案,这些答案建议将 JavaScript 引用移至文档末尾。任何人都可以看到任何明显的错误或有任何建议吗?

一些文件 angular.jade

extends layout

block content
 div.container
 input(type='text' ng-model='yourName')
 h3 hello {{yourName}}
 include includes/footer

然后是我的footer.jade

#footer
   script(src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js')
   script(src='//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js')
   script(src="/socket.io/socket.io.js")
   script(src="/javascripts/script.js")
   script(src='https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js')

我将它们移到页脚中,看看这是否会有所不同,它们以前在 layout.jade 的头部部分中

布局是

doctype 5
html
  head(ng-app)
    title Chat
    link(rel='stylesheet', href='/stylesheets/style.css')
    link(rel='stylesheet',     href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css")


  body
   div(ng-view)
    block content

更新

解决了我将 ng-app 移动到 body 而不是 head 的问题,并摆脱了 div(ng-view)。没有看过 Angular 代码,所以不知道为什么会这样......

【问题讨论】:

  • 属性、错字或实际代码中缺少逗号? input(type='text' ng-model='yourName')??
  • 缺少逗号,但没有区别 BTW 输出 HTML 在两种情况下都是相同的
  • 这有很大的不同,仅供参考。添加逗号开始。检查您的控制台,是否有任何错误?
  • 另外,script.js 里面是什么?
  • 逗号添加,没有错误,script.js有一些Jquery,socket.io和一个文档准备功能......

标签: javascript node.js angularjs express


【解决方案1】:

我会先导入angular.min.js(而不是最后导入)。另外,您检查控制台是否有任何错误?

【讨论】:

  • 我删除了除 Angular 之外的所有其他 javascript 引用,同样的事情
  • 尝试将 ng-app 移动到 body 而不是 head
  • 将其移至正文,现在只有一个 <div ng-view> 为空
  • 知道为什么会这样吗?
  • Angular 仅“处理”您声明它的元素。我猜,角度模块(以及它的控制器和服务)只限于头部元素而不是身体。
猜你喜欢
  • 2016-09-07
  • 2015-09-22
  • 1970-01-01
  • 2019-03-13
  • 2017-06-03
  • 1970-01-01
  • 1970-01-01
  • 2016-07-27
  • 2016-10-21
相关资源
最近更新 更多