我正在尝试在我的应用中使用这个smarttable daterangefilter: http://plnkr.co/edit/JSwbEfUOf3OilZkmwgK5?p=preview。我把这个过滤器添加到我的表中:
<tr>
<th>
<st-date-range predicate="account.settlementDate" before="query.before" after="query.after"></st-date-range>
</th>
</tr>
当我在我的应用程序中集成文件时,我收到此错误:
Error: [$compile:multidir] Multiple directives [stDateRange, stDateRange] asking for template on: <st-date-range predicate="account.settlementDate" before="query.before" after="query.after">
如何避免此错误?
答案 0 :(得分:1)
如果您转到此处提到的demo plnkr,请检查// get your world rect based on game logic
let worldRect = getWorldRect()
// calculate the scene rect
let sceneRectOrigin = scene.convertPoint(worldRect.origin, fromNode:scene.worldNode)
let worldScale = scene.worldNode.xScale // assert this is not 0
// now to get the scene rect relative to the world rect, in scene coordinates
let sceneRect = CGRectMake( sceneRectOrigin.x, sceneRectOrigin.y, worldRect.width / worldScale, worldRect.height / worldScale)
world.physicsWorld.enumerateBodiesInRect(sceneRect) {
// your code here
}
。实现了两个不同的指令 stDateRange 和 stNumberRange 。
script.js
在这里,您的模板使用模板中名为<tr>
<th>
<st-date-range predicate="account.settlementDate" before="query.before" after="query.after"></st-date-range>
</th>
</tr>
的指令。
当此模板加载到DOM中时。它将编译该指令,并将在指定的stDateRange
上查找使用该指令配置的模板。
查看plnkr的script.js。你会发现下面的指令配置。
此处显示的部分内容
templateUrl
此处templateUrl将尝试在此指令脚本文件所在的同一文件夹中找到 restrict: 'E',
require: '^stTable',
scope: {
before: '=',
after: '='
},
templateUrl: 'stDateRange.html',
,而不是您在评论中提到的那样。
这给你带来了麻烦。
现在有两种解决方案。
1 - &gt;在指令中更改此templateUrl并给出正确的路径 stDateRange.html
2 - &gt;将stDateRange放在script.js所在的文件夹中。