Angular单向绑定将参数作为字符串传递

时间:2015-12-30 18:48:02

标签: angularjs

由于某种原因,所有指令范围变量都以字符串形式发送。例如,sportid将是字符串' activePlayer.sportID'而不是以下示例中的activeplayer.SportID的值。

我在这里做错了什么,或者代码中是否存在其他问题。

查看:

<tbody profilestats sportid="{{activePlayer.sportID}}" season={{activePlayer.season}}" posid="{{activePlayer.positionID}}" playerid={{activePlayer.id}}" statstype="bo"></tbody>

在个人资料统计指令中:

    directive.scope = {
    leagueid: '@',
    playerid: '@',
    sportid: '@',
    season: '@',
    posid: '@',
    statstype: '@'
};

编辑我开始怀疑(甚至更多)代码中较早的其他内容导致其中断。已经给出的建议我实际上已经尝试过了。如果我能找到任何东西,我会发布问题所在。

1 个答案:

答案 0 :(得分:2)

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

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

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>