我是angularjs的新手。我刚开始创建一个示例应用程序。请帮我提一下你的建议。
以下是我的示例应用程序。
以下是创建的页面:
当用户从noteslist中选择一个笔记时,我想在右侧加载细节(在ViewNote.cshtml中)。请注意,我一次只能显示添加注释或查看注释。因此,我使用ng-show来显示/隐藏各自的部分控件。
我的问题:
有没有更好的方法来处理这种情况?请建议。
答案 0 :(得分:0)
你不能在角度服务实例中使用$ scope,因此$ emit或$ broadcast将不起作用。
this.fetchData = function(url, successHandler, failureHandler) {
$http.get(url).then(function(response) {successHandler(response);}, function() {});
}
function($scope, $rootScope, service) {
$scope.loadList = function() {
service.fetchData('someurl', fetchDataSuccessHandler, angular.noop);
}
function fetchDataSuccessHandler(response) {
var list = response.data;
$rootScope.$broadcast('load-data', list);
}
}
$scope.$on('load-data', function(event, list) {
// add the code to load the view
});