我正在学习Angular,并试图获得指令的把握,我试图创建一个用于生成多项选择题的指令。这是我希望得到的工作:Angular:使用指令创建问题
<question type="multiple-choice"
content="Hard tacos or soft tacos?"
options="{{ [
'Hard tacos!',
'Soft tacos!',
'Porque no los dos?'] }}"></question>
我不认为角会明白,我想传递一个对象的问题指令的options
属性。
这里就是我的指令看起来像至今:
app.directive("question", function() {
return {
restrict: 'E',
scope: {
content: '@',
options: '&'
},
templateUrl: function(elem, attrs) {
return "partials/question-" + attrs.type + ".html";
}
}
}
这里是我的模板(question-multiple-choice.html
):
<h3 ng-bind="content"></h3>
<div ng-repeat="option in options()">
<input type="radio" ng-value="option"> <span ng-bind="option"></span>
</div>
我收到以下错误,虽然,我不知道如何进行:
Syntax Error: Token '[' is unexpected, expecting [:] at column 4 of the expression [{{ [
'Hard tacos!',
'Soft tacos!',
'Porque no los dos?'] }}].
啊好的,这工作得很好。后续:我添加了一个新的属性,标识符。我想将这个属性的值设置为我的控制器的作用域对象'answers'的ng-model(通过'ng-model =“answers [identifier]”')。我只是需要transclude:这是真的吗? – Mephoros 2014-11-23 05:47:28
请检查我的更新 – ryeballar 2014-11-23 06:03:21
Ahhh哇我不认为我会想到这么简单。非常感激。用Angular包装我的头部肯定有很多! – Mephoros 2014-11-23 06:06:42