【发布时间】:2019-09-06 04:49:12
【问题描述】:
我在一个大型项目中使用旧的 AngularJS 1.5.11,我正在尝试使用指令清理我的模板。
我有一个编辑按钮指令,我想在其中传递 ui-sref,但是当我这样做时出现错误
Error: [$parse:syntax] Syntax Error: Token '}' not a primary expression at column 6 of the expression [{id: }] starting at [}].
这是我的指令
editButton = ->
return {
restrict: 'EA',
scope: {
sref: "@"
},
template: '
sref = {{sref}}
<button id="edit-btn"
class="mds__button -blue"
ui-sref={{sref}}>
<i class="fa fa-edit"></i> Edit
</button>
'
}
angular
.module('myApp')
.directive('editButton', editButton)
这就是我的称呼
<edit-button sref="job_edit({id: {{job.id}}})" />
在我的模板中,我显示了 sref,它已正确打印出来,但按钮不喜欢 ui-sref。
更新
我让它工作了,但是重构它会很好,所以我传递了 job_edit({id: job.id}) 属性并且它工作了。
指令;
editButton = ->
return {
restrict: 'EA',
scope: {
model: "@"
item: "="
},
template: '
<button id="edit-btn"
class="mds__button -blue"
ui-sref="{{model}}_edit({id: item.id})">
<i class="fa fa-edit"></i> Edit
</button>
'
}
angular
.module('myApp')
.directive('editButton', editButton)
在我的模板中调用它;
<edit-button model="job" item="job" />
【问题讨论】:
标签: angularjs angularjs-directive angular-ui-router coffeescript