javascript - 自定义 Angular 指令属性中的 "Error: Syntax Error unexpected token"

标签 javascript angularjs angularjs-directive

我正在测试 angular 并尝试构建自定义 angular 指令,但我遇到了奇怪的控制台错误。

我的指令定义为:

.directive('ipRecentActivityItem', function() {
  return {
    restrict: 'A',
    replace: true,
    transclude: true,
    scope: {
      'title': '@title',
      'icon': '@icon',
      'timeago': '@timeago',
      'meta': '@meta',
    },
    templateUrl: IP_PATH + '/app/components/recent-activity/recent-activity-item.tpl.html'
  }
});

我的模板是:

<div class="recent-activity-item">
  <div class="recent-activity-content">
    <div class="recent-activity-message">
      <a href="" class="recent-activity-title">
        {{title}}
      </a>
      <div class="recent-activity-meta">
        {{meta}}
      </div>
      <div data-ng-transclude></div>
    </div>
  </div>
  <a href="" class="recent-activity-timeago">{{timeago}}</a>
</div>

然后,在我看来,我正在尝试调用它:

<div data-ip-recent-activity-item 
  title="My Item Title" 
  icon="My item icon" 
  timeago="4 hours ago" 
  meta="someone commented on an issue in garageband">
  My Item content
</div>

在呈现的页面中,一切都按预期显示,但控制台抛出这些类型的错误:错误:语法错误: token “Item”是表达式 [My Item] 的第 4 列中的意外标记Title] 从 [Item Title] 开始。

如果我去掉空格,错误就会消失,但我不明白为什么会这样。谁能启发我?谢谢!我还是 Angular 竞技场的新手,请客气! :)

编辑:忘了说我正在运行 angular 版本 1.1.5

最佳答案

我很确定它是因为 angular 试图评估引号中的位。尝试添加单引号并查看消息是否消失

<div data-ip-recent-activity-item 
  title="'My Item Title'" 
  icon="'My item icon'" 
  timeago="'4 hours ago'" 
  meta="'someone commented on an issue in garageband'">
  My Item content
</div>

关于javascript - 自定义 Angular 指令属性中的 "Error: Syntax Error unexpected token",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17707298/

相关文章:

AngularJS 表单验证指令 $setValidity 在元素上

javascript - 将属性应用于 Angular Directive(指令)中的自定义嵌套元素

javascript - onclick 切换类不起作用

javascript - 无法从 nodejs/mongoose 捕获错误

javascript - 基于另一个对象数组创建对象数组

javascript - 在 jQuery 中多次调用一个函数

angularjs - Angular UI Bootstrap Popover 添加关闭按钮

javascript - 如何访问附加了 ng-disabled 的响应元素?

javascript - 如何使用 angularjs 将值转换为时间?

javascript - 将值传递给angular js中的自定义指令