ブートストラップのドロップダウンからの選択に基づいてリストをフィルタリングしようとしていますが、動作させられないようです。角度 - ブートストラップのドロップダウン選択に基づくデータのフィルタリング
<body>
<div class="toolbar-wrapper" >
<div class="btn-group container" role="group" ng-controller="filterController">
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
{{filter}}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li ng-repeat="severity in severityLevels"><a href="#" ng-click="changeSeverity(severity)">{{severity}}</a></li>
</ul>
</div>
</div>
</div>
<div class="logMessages" ng-controller="logController">
<div >
<ul>
<li class="message" ng-repeat="logData in data | filter: filter | limitTo: quantity">
{{logData.timestamp}} : {{logData.severity}} : {{logData.message}}
</li>
</ul>
</div>
</div>
</body>
Javascriptを::
var app = angular.module('UnifyLog', []);
app.controller('filterController', function($scope) {
$scope.severityLevels = [
'ERROR',
'WARN',
'INFO',
'DEBUG'
];
$scope.filter = '';
$scope.resetFilter = function() {
$scope.filter = '';
};
$scope.changeSeverity = function(severity) {
$scope.filter = severity;
}
})
.controller('logController', function ($scope, $http) {
$http.get("https://clock/settings/get_log_messages", {}).then(
function (response) {
$scope.data = response.data;
},
function (response) {
console.log("fail:" + response);
}
);
$scope.quantity=100
});
私はあなたが選択ディレクティブと結合NG-モデルデータを使用することができます知っているが、私は、ブートストラップドロップダウンを使用したいここに私のコードです。
上記のコードはscope.filter変数を更新していますが、ログメッセージのリストはフィルタリングされません。
httpリクエストは、メッセージ、タイムスタンプ、および重大度フィールドを含むログデータオブジェクトを持つjson配列を取得しています。