Это вопрос о Угловых Материалах, mdDialogs и области видимости переменные:mddialog модели TextArea не обновляется, когда изменения в главном контроллере
- Я подписался на определенную тему с использованием Stomp.
- Stomp принимает строки с сервера, что они объединены в переменной области.
- Пользователь нажимает кнопку, чтобы показать mdDialog.
- mdDialog должен показывать изменения входящей строки в текстовом поле.
Но ... он не работает должным образом. Мне нужно закрыть и снова открыть диалог, чтобы увидеть изменения. Я попытался добавить текстовое поле в основное представление (index.html), и текстовое поле работает правильно.
Почему он не меняет текстовое поле, когда мы находимся внутри mdDialog в угловых материалах? Любая идея решить его?
Это plunker вы можете увидеть главный вид (index.html) обновляет случайное значение правильно, но если открыть диалоговое окно значение не будет обновляться правильно ...
https://plnkr.co/edit/teC69Sg7UqNbouHxpT22
var angularInstance = angular.module('ExampleApp', ['ngMaterial', 'ngMessages']) ;
angularInstance.controller('ExampleCtrl', function ExampleCtrl($scope, $mdDialog, $mdMedia, $interval)
{
$scope.randomString = "" ;
$scope.initialization = function()
{
$interval($scope.addRandomChar, 1000) ;
}
$scope.addRandomChar = function()
{
$scope.randomString = $scope.randomString + "a" ;
}
$scope.openMyDialog = function(ev)
{
var useFullScreen = ($mdMedia('sm') || $mdMedia('xs')) && $scope.customFullscreen ;
$mdDialog.show({
controller: myDialogController,
templateUrl: 'myDialog.tmpl.html',
parent: angular.element(document.body),
targetEvent: ev,
clickOutsideToClose:true,
fullscreen: useFullScreen,
resolve:
{
randomString: function()
{
return $scope.randomString ;
}
}
}) ;
}
});
function myDialogController($scope, $mdDialog, randomString)
{
$scope.randomString = randomString ;
$scope.close = function()
{
$mdDialog.cancel() ;
};
}
Большое спасибо.
Не могли бы вы создать Plunker или что-то в качестве примера проблемы? –