我创建了一个单一答案调查,我想将其转化为指令。我不是一个单一的答案,因为只能同时选择一个答案,并且它会根据所选答案触发 x 或 y 函数(也是 ng 类)。
我在这个 jsfiddle 中有没有指令的工作功能.正如您将看到的,每个链接都会触发不同的 ng-click。
<div class="col-md-4">
<a class="btn col-md-12" ng-click="continent='1'" ng-class="{'active' : continent == '1'}">North America</a>
</div>
<div class="col-md-4">
<a class="btn col-md-12" ng-click="continent='2'" ng-class="{'active' : continent == '2'}">South America</a>
</div>
我的问题是这个方法在翻译成指令时不起作用(或者更好的是,我不知道该怎么做)。你可以看到 jsfiddle with the directive here .
和 js:
.directive('myContinent', function() {
return{
restrict: 'E',
template: '<div class="col-md-4"> \
<a class="btn col-md-12" ng-click="continent=\'1\'" ng-class="{active : continent == \'1\'}">{{text}} \
</a> \
</div>',
replace: true,
scope: {
text: '@'
}
};
});
最佳答案
我认为最简单和干净的方法之一是将 Controller 的范围变量传递给您的指令范围(使用 =
)。您可以将所选大洲保存在此变量中,并在多个指令实例中使用它。
关于javascript - 使用 AngularJS 指令创建单个正确答案调查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115421/