2016-11-24 32 views
0

我有問題將數組推向作用域並在此之後清空數組。Angularjs將數組推送到作用域

我啓動功能ng-click="addInput()向陣列添加一個新窗體這個窗體包含另一個陣列meta_keys:$scope.tags

如果我再次點擊ng-click="addInput(),表格將會生成,但已經填入數據。意味着每個meta_keys上的值相同:$ scope.tags。我想我需要在生成新的之前清空數組。 或者我錯了。感謝幫助。

codepen.io

HTML

<div ng-app="myApp" ng-controller="myCtrl"> 
    {{name}} 

<form> 
<div class="form-group"> 
    <label for="txtDevice" class="control-label">Domain Name:</label> 
    <input type="text" class="form-control" ng-model="info.name" id="txtDevice"> 
</div> 
<div class="form-group"> 
    <label for="txtIP" class="control-label">IP Address:</label> 
    <input type="text" class="form-control" ng-model="info.ip" id="txtIP"> 
</div> 
<div class="form-group"> 
    <label for="txtUsername" class="control-label">Logo:</label> 
    <input type="text" class="form-control" ng-model="info.logo" id="txtLogo"> 
    </div> 

<div class="form-group" ng-repeat="site in info.sites track by $index"> 
    <h4>Seite {{$index+1}}</h4> 
<label type="txt" class="control-label">Title</label> 
<input type="txt" class="form-control" ng-model="site.site_title" /><br /> 
<label type="txt" class="control-label">Desc</label> 
<input type="text" class="form-control" ng-model="site.meta_desc"><br /> 
<label type="txt" class="control-label">Meta Keys</label> 
<!-- <input type="text" class="form-control" ng-model="site.meta_keys"> --> 
<tags-input ng-model="tags" ></tags-input> 
</div> 

</form> 
    <button ng-click="addInput()">+add more inputs</button> 
{{info | json}} 
    <hr> 


    tags = {{tags | json}} 

</div> 

的script.js

angular.module('myApp', ['ngTagsInput']) 
    .controller('myCtrl', function($scope, $http){ 
     $scope.name ="myName" ; 
     $scope.info = {}; 
     $scope.info.sites = []; 
     $scope.tags = []; 


     $scope.addInput = function() { 
     //$scope.tags = []; 
     $scope.info.sites.push({ 
          site_title:'', 
          meta_desc:'', 
          meta_keys:$scope.tags}) 

} 
     // $scope.info.sites.meta_keys = []; 

}); 
+0

它不是非常從你的問題是什麼,你所尋找的,能否請您eloborate更多,你的問題corelate代碼清晰。我認爲,你的代碼和問題不是同步的,而且令人困惑。 – Sreekanth

回答

0

只需更換線

<tags-input ng-model="tags" ></tags-input> 

<tags-input ng-model="site.tags" ></tags-input> 

我希望它有助於:)

+0

感謝這工作正常:) – mvmthecreator

+0

爲什麼它可在site.tags?我在我的文件頂部定義了一個$ scope.tags = []。我怎麼才能設置數組的文本值? – mvmthecreator

+0

看,問題是$ scope.tags意味着這個ngmodel對每個人都是通用的。如果您在$ scope.tags中添加任何元素,它將適用於所有元素。你應該把所有的標籤放在他們自己的變量中,而不是將它們放在一起,即「站點」 –

相關問題