在AngularJS

时间:2016-04-09 11:14:49

标签: javascript jquery html angularjs

我正在尝试发布表单数据,但内容未在UI上更新。 以下代码可用于发布数据,但tags中的{{tag.Title}}未更新。

 $scope.saveTag = function (data,TagTypeId) {
        var result = employeeCvService.addTag(data, TagTypeId, $scope.consultantCv.Id).success(function(data){
            var new1 = data;
            $scope.consultantCv.TagsbyTypes[0].Tags.push(newtag);
        });
       // $scope.consultantCv.TagsbyTypes[0].Tags.push(newtag); //this code is not updating the binding in the UI
    };
<div class="row" data-ng-repeat="tagsByType in consultantCv.TagsbyTypes" ng-init="init('tag',2000)">
 <div class="col-md-12">
 <hr />
 <h2>
    <i class="icons8-{{tagsByType.CssClass}}" aria-hidden="true"></i>{{tagsByType.Title}}
 </h2>
    <div class="tags">
      <div class="input-group" ng-controller="consultantController">
           <div ng-repeat="tag in tagsByType.Tags" class="tag label label-success">
               {{tag.Title}}
               <a class="close" href ng-click="removeTag(tag)">×</a>
                                    
            </div>
            <form ng-submit="saveTag(Title,tagsByType.Id)" role="form">
                <input type="text" ng-model="Title" class="form-control" placeholder="add a tag..." ng-options="suggestion.Title for suggestion in suggestion" uib-typeahead="suggestion.Title for suggestion in loadTags($viewValue,tagsByType.Id)" typeahead-loading="loadingTags" typeahead-no-results="noResults">
                <span class="input-group-btn"><input type="submit" class="btn btn-default" value="Add"></span>
            </form>
       </div> 
   </div>
</div>
</div>

1 个答案:

答案 0 :(得分:0)

发现问题是tagsType没有传递给控制器​​。 通过以下代码修复它

$scope.saveTag = function (data,TagTypeId) {
        var result = employeeCvService.addTag(data, TagTypeId, $scope.consultantCv.Id).success(function(result){
            TagTypeId.Tags.push(result);
            $scope.consultantCv.TagsbyTypes.Tags.push(newData);
            //$scope.consultantCv.TagsbyTypes[0].Tags.push(new1);
        });
       // $scope.consultantCv.TagsbyTypes[0].Tags.push(newtag);
    };
<form ng-submit="saveTag(tag.Title,tagsByType)" role="form">
                                    <input type="text" ng-model="tag.Title" class="form-control" placeholder="add a tag..." ng-options="suggestion.Title for suggestion in suggestion" uib-typeahead="suggestion.Title for suggestion in loadTags($viewValue,tagsByType.Id)" typeahead-loading="loadingTags" typeahead-no-results="noResults">
                                    <span class="input-group-btn"><input type="submit" class="btn btn-default" value="Add"></span>
                                </form>