Итак, у вас есть две директивы, которым необходимо обмениваться данными. Оба находятся под одним и тем же контроллером, поэтому настройте переменную $ scope.selection, чтобы сохранить выбор, он получает значение по умолчанию в контроллере.ngModel и значение сброса
knowledge.controller('industryController', function($scope, mwFactory){
$scope.menudata={sections: [
{group: 'FMP', name: 'Finance'},
{group: 'FinTech', name: 'Financial Technology'},
]
}
if ($scope.selection) {
console.log("This is " + $scope.selection)
} else {
$scope.selection = 'Main_Page'
}
})
тогда я посылаю, что в меню, где вы можете сделать выбор
<nav-circle group="section.group" ng-model="selection"></nav-circle>
я затем установить его следующим образом внутри директивы
function nodeclick(d){
//console.log("Name is " + d.url);
console.log("Old model is " + ngModel.$modelValue)
ngModel.$modelValue = d.url;
ngModel.$viewValue = d.url;
console.log("New model is " + ngModel.$modelValue)
}
Однако, это не кажется, как это обновляет или потенциально даже более странно, что что-то сбрасывает ngModel. Получил звонок дальше,
ngModel.$render = function() {
console.log("ngRender got called " + ngModel.$modelValue);
};
И это пинает каждую минуту или около того, и всегда возвращает значение к исходному значению. Что я упускаю
Можете ли вы предоставить скрипачу или plunkr для проблемы? –
Кроме того, какую версию углового вы используете? – alphapilgrim
Вы пробовали 'ngModelCtrl. $ SetViewValue (ngModel);' в вашей функции nodeclick? –