Angularjs将数组推送到作用域
我有问题将数组推向作用域并在此之后清空数组。Angularjs将数组推送到作用域
我启动功能ng-click="addInput()
向阵列添加一个新窗体这个窗体包含另一个阵列meta_keys:$scope.tags
。
如果我再次点击ng-click="addInput()
,表格将会生成,但已经填入数据。意味着每个meta_keys上的值相同:$ scope.tags。我想我需要在生成新的之前清空数组。 或者我错了。感谢帮助。
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 = [];
});
只需更换线
<tags-input ng-model="tags" ></tags-input>
与
<tags-input ng-model="site.tags" ></tags-input>
我希望它有助于:)
感谢这工作正常:) – mvmthecreator
为什么它可在site.tags?我在我的文件顶部定义了一个$ scope.tags = []。我怎么才能设置数组的文本值? – mvmthecreator
看,问题是$ scope.tags意味着这个ngmodel对每个人都是通用的。如果您在$ scope.tags中添加任何元素,它将适用于所有元素。你应该把所有的标签放在他们自己的变量中,而不是将它们放在一起,即“站点” –
它不是非常从你的问题是什么,你所寻找的,能否请您eloborate更多,你的问题corelate代码清晰。我认为,你的代码和问题不是同步的,而且令人困惑。 – Sreekanth