【发布时间】:2013-02-15 21:41:11
【问题描述】:
我正在使用 AngularJS 创建一个问卷表单,并且我正在模板化不同类型的问题,以保持我的 HTML 轻量级。
HTML:
<qtnyesno qtn-variable="testVar">This is a test question. Yes or No?</qtnyesno>
testVar = {{testVar}}
JS:
var module = angular.module('app', [])
.directive('qtnyesno', function() {
return {
restrict: 'E', // must be an HTML element
transclude: true,
scope: {
valvar: '@qtnVariable',
},
template:
'<div>' +
'<label ng-transclude></label>' +
'<label class="radio inline"><input type="radio" name="rdo{{valvar}}" value="1" ng-model="{{valvar}}">Yes </label>' +
'<label class="radio inline"><input type="radio" name="rdo{{valvar}}" value="0" ng-model="{{valvar}}">No </label>' +
'<hr></div>',
replace: true,
};
});
当我在输入标签 ng-model="{{valvar}}" 中使用时,会出现编译错误。
当我尝试改用 ng-click="{{valvar}} = 0" 时,我没有收到任何编译错误,但是当我点击时获取 testVar 值的显示语句永远不会起作用单选按钮。
如何解决此问题,以便在单击按钮时使用 testVar 的值正确更新 HTML 的最后一行?
我正在使用 AngularJS 和 Bootstrap。我对这两个框架都很陌生,所以我不确定这是否是最好的方法。
【问题讨论】:
标签: javascript templates angularjs angularjs-directive