我有一张桌子用角和一个按钮。当我点击按钮时,为我添加一个新行,其中每列都是一个表单字段。文本,数字和复选框字段显示正常。当我尝试创建一个选择选项菜单时,问题出现了。我从Web服务中获取选择的选项。而且我找不到创建选择的方法。
单击按钮时我是如何创建新行的:
assets.controller('AfegirTipusActiusCtrl', function ($scope, $http){
// Camps formulari text pla
$scope.nomAtribut = "<input type='text' name='firstname'>";
$scope.tipus = "<select><option value='volvo'>Volvo</option><option value='saab'>Saab</option><option value='mercedes'>Mercedes</option><option value='audi'>Audi</option></select>";
$scope.mida = "<input type='number' name='firstname'>";
$scope.prioritat = "<select><option value='1'>1</option><option value='2'>2</option></select>";
$scope.obligatori = "<input type='checkbox' name='vehicle' value='yes'>";
// Construeix combo
$http.get('http://10.0.203.73/WS/ws.php/getCombo/1/').success(function(data) {
var tipus_atributs = data;
});
// Bucle options select
$scope.atributs = [];
$scope.addField = function() {
$scope.atributs.push($scope.atributs.length);
};
});
我在// Bucle选项选择
上获取了web服务的值为了渲染$scope.nomAtribut
和其他我使用此指令:
assets.directive('compile', compile);
function compile($compile)
{
return {
restrict: 'A',
replace: true,
link: linkFunction
};
function linkFunction(scope, element, attrs)
{
scope.$watch(
function (scope)
{
return scope.$eval(attrs.compile);
},
function (value)
{
element.html(value);
$compile(element.contents())(scope);
}
);
}
}
这就是观点:
<div class="row">
<div class="col-md-8" ng-controller="AfegirTipusActiusCtrl">
<button ng-click="addField()">Nou atribut</button>
<div>
<table class="table">
<tr>
<td>Nom atribut</td>
<td>Tipus</td>
<td>Mida</td>
<td>Prioritat</td>
<td>Obligatori</td>
</tr>
<tr ng-repeat="atribut in atributs">
<td compile="nomAtribut"></td>
<td compile="tipus"></td>
<td compile="mida"></td>
<td compile="prioritat"></td>
<td compile="obligatori"></td>
</tr>
</table>
</div>
</div>
</div>
</div>
这是我第一次尝试角色,因为不便而感到害怕