[英]How to bind Array from angular $scope to the input
我在$ scope中有一個數組
$scope.my_array = ["val_1", "val_2", "val_3"]
為了綁定此數組輸入元素,我使用了ng-model:
<input type="text" ng-model="my_array">
現在,我希望它以逗號分隔的形式將數組值顯示在輸入框中,但是什么也不顯示。 這有可能嗎?
在ng-repeat中,它正在迭代值,因此該數組可用於視圖。
編輯:謝謝,正常的方法是用於數組綁定。 但就我而言,我首先使用的是空數組:
$scope.my_array = []
然后,在ng-click函數上,我從clicked元素中獲取data- *屬性並將其推到數組中:
var item = $(".some-class").data("field-type");
$scope.my_array.push(item)
對此進行很好的迭代,但是在設置輸入時不起作用。
請看另一個詳細解釋雙向過濾的主題: 如何在angular.js中進行雙向過濾? 簡而言之,您應該使用ngModels的$ parsers和$ formatters集合,以便在設置輸入之前可以創建.join(“,”),在將值設置回模型之前可以創建.split(/,* /)。
這個問題已經解決了,我用
$scope.my_array = $scope.my_array.concat(item)
而不是使用.push()方法。
我不知道數組的push
方法是否有問題,但是將值壓縮到數組中后,對我有用,現在數組值在輸入字段中可見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.