dt.html
とst.html
は全く同じですコントローラの違いはscoket.on
ですdtconsumer
対stconsumer
、私はどのように2つの異なる状態の両方のビューまたは同じビューとコントローラに1つのコントローラを使用できますか。 js
とhtml
に冗長コードがたくさんあります。この問題を解決する最良の方法は何ですか?angularjsを使用して冗長コードを減らすにはどうすればよいですか?
ディレクティブを書く必要がありますか?
dt.html
<div class="panel-body display-logs" scroll-bottom="event" style="width:100%;">
<ul style="list-style: none;">
<li ng-repeat="message in event | limitTo:1000" ng-class="{lastItem: $last}"><span>{{message.value}}</span></li>
</ul>
</div>
はCtrl-1.js
var searchEnv = 'DT';
$scope.event = [];
socket.on('dtConsumer',function (data) {
var obj = {
file:$scope.filename,
data:data
}
var messageSize = getBytesForBuffer(data);
$scope.event.push(data);
});
はCtrl-2.js
var searchEnv = 'st';
$scope.event = [];
socket.on('StConsumer',function (data) {
var obj = {
file:$scope.filename,
data:data
}
$scope.event.push(data);
var messageSize = getBytesForBuffer(data);
});
app.js
.state('app.dt', {
url: '/dt',
templateUrl: 'view/partials/dt.html',
controller: 'DitCtrl'
})
.state('app.st',{
url:'/st',
templateUrl:'view/partials/st.html',
controller:'StCtrl'
})
あなたの質問は、「どのように私は複数のテンプレートのためのコントローラを使用することができます」されている場合は、私はしばらく前にそれに少し記事を書きました。もはや存在しない古い "ng-include"を探しているかもしれません。 www.tcoz.com/#/errataにアクセスし、「Angular 2のng-include?」をご覧ください。 –