angularjs - Is it possible to inject HTML into $scope? -
i trying following, when user login header link change dropdown username of current user.
when logout dropdown change link home page.
current code:
app.controller('menuctrl', function ($rootscope, $location, data) { $rootscope.$on("$routechangestart", function (event, next, current) { data.get('session').then(function (results) { if (results.uid) { console.log('change menu logged in version'); $rootscope.menu = "<h3>logged in</h3>"; } else { console.log('changed menu logged out version'); $rootscope.menu = "<h3>logged out</h3>"; } }); }); });
html
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation" ng-controller="menuctrl"> <div class="container"> <div class="row"> <div class="navbar-header col-md-8"> <a class="navbar-brand" rel="home">freelancer portal</a> </div> <ul class="nav navbar-nav pull-right"> <li><a href="#">back home</a></li> </ul> </div> </div> </div> <div >
any suggestions improve in code great :)
you way (you need use ngbindhtml). i'd little bit different.
how menuctrl:
app.controller('menuctrl', function ($rootscope, $location, data) { $rootscope.$on("$routechangestart", function (event, next, current) { data.get('session').then(function (results) { $rootscope.loggedin = !!results.uid; }); }); });
then in view:
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation" ng-controller="menuctrl"> <div ng-if="loggedin">you logged in!</div> <div ng-if="!loggedin">you not logged in!</div> <div class="container"> <div class="row"> <div class="navbar-header col-md-8"> <a class="navbar-brand" rel="home">freelancer portal</a> </div> <ul class="nav navbar-nav pull-right"> <li><a href="#">back home</a></li> </ul> </div> </div> </div> <div >
Comments
Post a Comment