Javascript 在angular js中组合绑定项和表达式
在HTML中:Javascript 在angular js中组合绑定项和表达式,javascript,html,angularjs,angular,Javascript,Html,Angularjs,Angular,在HTML中: <ul class="list-group"> <li ng-repeat="item in simpleListVM.datasource track by $index" class="list-group-item"> <simple-list-items listitem="item" listitemid="{{item.data.name + $index + 1}}"></simple-list-items
<ul class="list-group">
<li ng-repeat="item in simpleListVM.datasource track by $index" class="list-group-item">
<simple-list-items listitem="item" listitemid="{{item.data.name + $index + 1}}"></simple-list-items>
</li>
</ul>
当我运行应用程序时,它显示错误
语法错误:从[{item.data.name+$index+1}}]开始的表达式[{{item.data.name+$index+1}}]第2列的标记“{”键无效
这是因为您提供的
listitemid
是一个插值表达式,应该是由listitemid:'&'
定义的函数
在我看来,您似乎想将
listitemid:'&'
更改为listitemid:'@'
。这将绑定到表达式的结果。Stephen J Barker是对的,请检查我的示例代码,
-
var app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.simpleListVM={};
$scope.simpleListVM.datasource=[{
'name':'test1'
}, {
'name':'test2'
}, {
'name':'test1'
}];
}).指令(“simpleListItems”,函数(){
var dir={};
目录范围={
listitem:“=”,
listitemid:“@”
};
dir.link=函数(s、e、a){
console.log(“listitem”,s.listitem);
log(“listitemid”,s.listitemid);
}
返回目录;
});
这是错误指向的行吗?但它在错误中有一个数组,但在问题中没有?请创建一个演示,演示您面临的问题,这将有助于轻松理解您的问题。是的simpleListVM.datasource是arrayNo problem@user2323308。很乐意帮忙
scope: {
listitem: '=',
listitemid:'&'
}