绑定属性值时出错 - angular include和directives

时间:2014-06-23 11:57:28

标签: javascript html angularjs web angularjs-directive

我试图根据从服务器收到的一些数据动态地包含一些指令。我之前已经问过this,现在上传了指令,但是我在控制台中看到了一些错误,这是我得到的:Syntax Error: Token 'type' is unexpected, expecting [:] at column 3 of the expression [{{type}}] starting at [type}}].

这是主页html:

<div ng-repeat="type in bet.bet_types">
    <div ng-include src="getBetTypeById(type.id)"></div>
</div>

以下是范围中的getBetTypeById(id)函数:

    $scope.getBetTypeById = function(id)
    {
        switch(id)
        {
            case 1:
                return '/views/partials/1.html';
                break;  
...

这是1.html:

<test-test bettype={{type}}></test-test>

这是tets-test指令:

var app = angular.module('soccerWinner', []);

app.directive('testTest', function()
{
    return {
        restrict: 'E',
        replace: true,
        scope:
        {
            bettype: '='
        },
        templateUrl: '/views/partials/directives/bettaype_soccer_winner.html',
        controller: function()
        {
            alert('dfd');
        }
    };
});

这是bettaype_soccer_winner.html

<h2>test</h2>

加载指令后没有警报,并且在控制台中可以看到上述错误。

我的工作有什么问题?我认为该问题与代码行<test-test bettype={{type}}></test-test>

有关

以下是类型的示例:

{"id":1,"name":"Winning Team or Tie","description":"Choose the winnig team.","schema":"{\n\t            \t'winnerId': 'integer',\n                    'options:' []\n\t            }","created_at":"2014-06-22 13:13:07","updated_at":"2014-06-22 13:13:07","pivot":{"bet_id":1,"bet_type_id":1},"userBet":""} 

1 个答案:

答案 0 :(得分:2)

您应该将模型传递给指令。不是表达。删除大括号,这应该可以解决问题。

<test-test bettype="type"></test-test>

欢呼声