Angularjs 角度单向绑定是将参数作为字符串传递

Angularjs 角度单向绑定是将参数作为字符串传递,angularjs,Angularjs,出于某种原因,所有指令作用域变量都作为字符串发送。例如,在下面的示例中,sportid将是字符串“activePlayer.sportid”,而不是activePlayer.sportid的值 我在这里做错了什么,或者代码中的其他内容可能有问题 视图: 编辑我开始怀疑(甚至更加怀疑)代码前面的其他内容导致了此错误。已经提出的建议我实际上已经尝试过了。如果我能找到任何东西,我会张贴什么问题 这是因为您正在使用@绑定 将@替换为=,指令中将包含正确的数据 leagueId: '=', playerI

出于某种原因,所有指令作用域变量都作为字符串发送。例如,在下面的示例中,sportid将是字符串“activePlayer.sportid”,而不是activePlayer.sportid的值

我在这里做错了什么,或者代码中的其他内容可能有问题

视图:


编辑我开始怀疑(甚至更加怀疑)代码前面的其他内容导致了此错误。已经提出的建议我实际上已经尝试过了。如果我能找到任何东西,我会张贴什么问题

这是因为您正在使用
@
绑定

@
替换为
=
,指令中将包含正确的数据

leagueId: '=',
playerId: '=',
sportId: '=',
season: '=',
posId: '=',
statsType: '='
在您的html中:

<tbody profilestats sport-id="activePlayer.sportID" season="activePlayer.season" pos-id="activePlayer.positionId" player-id="activePlayer.id" stats-type="bo"></tbody>


当我这样做时,我得到:语法错误:从[{activePlayer.id}}]开始的表达式[{{activePlayer.id}}]第2列的标记“{”无效键。另外,从html中传入
联盟id
,因为您正在指令中使用它!这是正确的一半,但是您需要从标记中删除{{},应用上述所有更改(而不删除{}})。我再次遇到此错误:
[$parse:syntax]语法错误:从[{league.leagueID}}]开始的表达式[{{leagueID.leagueID}}]第2列的标记“{”无效键
。如果我删除了{{},我会得到字符串作为属性again@user975911对,我指出你需要删除{{}因此:)如果您在指令中使用
@
进行绑定,它将被转换为字符串。因此,您必须将它们转换为使用
=
,它将通过将值传递到指令隔离范围来持久化数据类型
leagueId: '=',
playerId: '=',
sportId: '=',
season: '=',
posId: '=',
statsType: '='
<tbody profilestats sport-id="activePlayer.sportID" season="activePlayer.season" pos-id="activePlayer.positionId" player-id="activePlayer.id" stats-type="bo"></tbody>