解释 :
header
directive
我为我的角度应用程序创建了一个。通过使用此指令,我们将根据某些条件template
使用属性的属性进行加载。templateUrl
html:
<div header></div>
指令:
app.directive('header', ['LS', function(LS) {
'use strict';
var user = LS.getData() === 'true' ? true : false;
return {
restrict: 'A',
replace: true,
templateUrl: user ? 'withlogin-header.html' : 'withoutlogin-header.html',
controller: ['$scope', 'LS', function ($scope,LS) {
$scope.login = function() {
return LS.setData(true);
}
$scope.logout = function() {
return LS.setData(false);
}
}]
}
}]);
withlogin-header.html :
<div>
User is logged in !!!
<input type="button" ng-click="logout()" value="Logout"/>
</div>
没有登录-header.html:
<div>
Hey buddy, log in !!!
<input type="button" ng-click="login()" value="Login"/>
</div>
要求 :
我们必须different headers
基于user roles
.ie 显示,如果用户没有登录,那么我们必须显示正常的标题,login button
如果用户已经登录,那么我们必须显示不同的标题logout button
。
我们面临的挑战:
header
指令无法正常工作。当我们单击它时login button
,它不会根据指令属性中定义的条件withoutlogin-header.html
加载另一个模板。withlogin-header.html
templateUrl
到目前为止我尝试过:
Plnkr:http ://plnkr.co/edit/w7AyUjSNA1o5NJp6tD1p?p=preview
任何直接的帮助都将是非常可观的。谢谢