好的,这是一个令人费解的问题,我可能会要求一种不好的方法。如果是这种情况,请告诉我。
所以我有directive
一个导航栏。当有人点击某物时,我设法获得添加类的指令,从而加载栏。感谢 StackOverflow。
但是现在,我有一个获取和设置值的服务。当服务中的值发生更改时,我想在视图中反映这一点。这样的事情可能吗?
编辑
为澄清起见,如果我确实使用 a $apply(function()....
,我该怎么做?我的观点是这样的。我的视图不受任何特定控制器或范围的约束。不确定是否应该。但这是我的观点的片段:
<p>
Are you sure you change that song,
<br />
{{ songs[0].title }}
</p>
这是我的指令:
angular.module('MyApp')
.directive('navbar', function () {
return {
restrict: 'A',
templateUrl : '/views/partials/nav.html',
controller: function ($scope, ModalService) {
$scope.ms = ModalService;
$scope.songs = {};
$scope.$watch('ms.songs', function(newVal, oldVal) {
if(newVal != null) {
$scope.$apply(function() {
$scope.songs = newVal;
});
}
});
},