我在vm.rslt
中有数据toolbar.controller.js
,现在我想从toolbar.html
和sharedwishlistdetails.html
这两个页面访问该数据。但现在我只在toolbar.html
页面获得结果。我在toolbar.module.js
创建了第二页的路径并注入了,但我仍然没有得到。请帮我解决这个问题。
该工具栏文件夹包含如下所示的结构
`sharedwishlistdetails.html
sharedwishlistdetails.scss
toolbbar.controller.js
toolbar.html
toolbar.module.js
tolbar.scss`
(function ()
{
'use strict';
angular
.module('app.toolbar')
.controller('ToolbarController', ToolbarController);
function ToolbarController($rootScope, $mdSidenav, msNavFoldService, $translate, $mdToast, $location, $localStorage, $http, $scope)
{
var vm = this;
vm.name = $localStorage.name;
vm.userId = $localStorage._id;
vm.readNotifications = function(notifId){
$http({
url: 'http://192.168.2.8:7200/api/readNotification',
method: 'POST',
data: {notificationId: notifId, userId: vm.userId}
}).then(function(res){
vm.rslt = res.data.result1;
console.log(vm.rslt);
vm.refresh();
$location.path('/sharedwishlistdetails');
}, function(error){
alert(error.data);
})
}
}
})();
<div class="notification">
<md-menu id="language-menu" md-offset="0 60" md-position-mode="target-right target" >
<md-button class="md-fab md-mini " aria-label="Bell" ng-click="$mdOpenMenu()">
<md-icon md-svg-src="assets/icons/fonts/bell.svg"></md-icon>
</md-button>
<md-menu-content style="height:150px; overflow:auto; ">
<div class="notifi" ng-repeat="notification in vm.result">
<md-menu-item ng-hide="vm.showMessage" ng-repeat="name in notification.notificationDetails">
<md-button ng-click="vm.readNotifications(notification._id); vm.findWishlist(notification._id)">
<b>{{name.userName}}</b> shared wishlist with you.
</md-button>
</md-menu-item>
<span><hr flex/></span>
</div>
<md-menu-item ng-show="vm.showMessage">
<md-button ng-click="">
No notifications.
</md-button>
</md-menu-item>
<a ui-sref="app.notifications" style="text-align:center; font-size:14px">See All</a>
</md-menu-content>
</md-menu>
<div ng-show="vm.showBadge" class="badge bg-danger up">{{vm.CountTrue}}</div>
</div>
(function ()
{
'use strict';
angular
.module('app.toolbar', [])
.config(config);
function config($stateProvider, $translatePartialLoaderProvider)
{
$translatePartialLoaderProvider.addPart('app/toolbar');
$stateProvider.state('app.toolbar', {
url : '/sharedwishlistdetails',
views : {
'content@app': {
templateUrl: 'app/toolbar/sharedwishlistdetails.html',
controller : 'ToolbarController as vm'
}
}
});
}
})();
答案 0 :(得分:0)
我是否正确,假设您的代码类似于:
$stateProvider.state('app.toolbar', {
url : '/sharedwishlistdetails',
views : {
'content@app': {
templateUrl: 'app/toolbar/toolbar.html',
controller : 'ToolbarController as vm'
},
'list@app': {
templateUrl: 'app/toolbar/sharedwishlistdetails.html',
controller : 'ToolbarController as vm'
}
}
});
如果是这样 - 您的模板具有不相关数据的控制器的不同实例,因此每个控制器应独立加载数据。
如果我怀念建议 - 请通过sharedwishlistdetails.html及其查看路线提供电话给tada。