Javascript 在angular js中组合绑定项和表达式

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

在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>
   </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:'&'                   
}