このシナリオがある場合はどうすればいいですか?ng-optionsを使用して「保存済み」選択項目にグリフコンアイコンを追加
3つの要素でドロップダウンします。アイテムを選択して保存ボタンをクリックすると、ドロップダウンメニューのngモデルがhtmlタグとバインドされ、ngモデルに項目名の前にグリフコンアイコンが追加されるようになりました。
私は基本的な実装を試みましたが、完了できませんでした。
私が欲しいモデル
var app = angular.module('myApp', ['ngSanitize'])
app.controller('myController', function($scope){
$scope.name = 'Dylan'
$scope.saved = false
$scope.data = [{
'name' : 'Item 1',
'color': 'red'
},
{
'name' : 'Item 2',
'color': 'blue'
},
{
'name' : 'Item 3',
'color': 'green'
}]
$scope.saveItem = function(item) {
// var index = $scope.data.indexOf(item);
// $scope.data[index].name = "✓" + item.name
// console.log(index)
$scope.binder = " ✓ " + item.name;
}
})
ビュー
<body ng-app="myApp">
<div ng-controller="myController">
<span class="glyphicon glyphicon-star" aria-hidden="true"></span> {{name}}
<div class="row">
<div class="col-sm-2" >
<select class="form-control selectPicker glyphicon"
ng-model="selectedItem"
ng-options = "item as item.name for item in data">
</select>
</div>
</div>
<br>
<button type="button"
class="btn btn-danger"
ng-disabled="!selectedItem"
ng-click="saveItem(selectedItem)">
Save
</button>
<div ng-bind-html="binder"></div>
</body>
がこれです....
現在のモデル「アイテム1」はバインダーとまったく同じように置換/更新されます(ダニが含まれています)。
さらに、ng-repeatを使用して同じことを試みましたが、アプリケーション全体でオブジェクトプロパティを使用する必要があるため、これはオプションではありません。 ng-repeatでは、私の理解から、選択された値はオブジェクトではなく文字列であるようです。任意のヘルプや提案を事前に
感謝:)