将变量绑定到子指令时出现意外令牌错误

时间:2014-08-12 08:40:06

标签: angularjs angularjs-directive

我有两个指令。一个是另一个的孩子:

.directive("mbVideo", function(mbFileReader){

  return {

    restrict : "EA",
    scope: {
        "videoModel" : '=model'
    },
    templateUrl: 'mbUpload/mbVideo.tpl.html',

    link: function($scope,el, attr){


    }
  };
 })

.directive("mbVideoThumb", function(){

    return {

        restrict : "EA",
        scope: {
            "thumbModel" : '=thumbModel',
            "videoModel" : '=videoModel'
        },
        template: '<mb-video model="{{videoModel}}"></mb-video> <input ng-click="getThumb()" type="button" value="Thumbnail"><img id="{{thumbId}}" class="mb-video-thumb" src="{{thumb}}">',

        link: function($scope,elem, attr){


        }
    };
 });

我收到此错误:“错误:[$ parse:syntax]语法错误:令牌'videoModel'是意外的,期望[[{{videoModel}}]的第3列的[:]从[videoModel}开始}]“。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我猜测videoModel是一个字符串;如果您在引号中有一个Angular绑定,并且绑定变量是一个字符串,Angular将会出错。幸运的是,有一个简单的解决方法:

model="'{{videoModel}}'"