2
socket.ioを使用しているサーバーからのメッセージがあるたびにメッセージが受信されました。$scope.event
アレイに追加しています。コントローラでメッセージを受け取ったとき、ディレクティブの隔離スコープを更新するにはどうすればいいですか?更新された配列値をディレクティブにバインドする方法は?
directive.js
angular.module("App").directive('progressBarCustom',function() {
return {
restrict: 'E',
scope:{
message: "=",
fileSize: "=",
},
templateUrl: '/view/partials/progressbar.html',
controller: "StCtrl",
link: function(scope, el, attrs) {
var data = scope.message;
}
});
main.htmlを
<ul style="list-style: none;">
<li ng-repeat="message in event track by $index" ng-class="{lastItem: $last}"><span><strong>Log:</strong></span><span>{{message}}</span></li>
</ul>
ctrl.js
socket.on('ditConsumer',function (data) {
$scope.event.push(data);
}
$scope.event = ["lorem ipsum","lorem ipsum"];
template.html
<progress-bar-custom ng-show="progressBarFlag" message="event" file-size="selectedFileSize"></progress-bar-custom>
私は 'console.log($ scope.event)'を使って実際に更新していることを確認します。 ''=''を使って2つの方法で正しくバインドしているようです。 – user2954587
リンク機能の閉じ括弧が欠落しているか、それとも転写エラーですか? –
はいそれは単なる転写エラーです – hussain