【发布时间】:2016-01-06 03:41:28
【问题描述】:
我正在尝试使用指令为我的 html 页面创建标题页,因为标题将出现在多个页面上。 我创建了一个名为“header”的指令,它只是加载 header.html
这是使用指令的html
这是指令
app.directive('header', function() {
return {
controller: headerController,
templateUrl: 'header.html'
};
});
header.html
<link rel="stylesheet" href="css/header.css">
<script src="scripts/signIn/signIn.js"></script>
<script src="scripts/signIn/signInController.js"></script>
<md-button class="md-button" id="accountCreation" ng-click="showLogInPage()">Create Account/Login</md-button>
我的 header.html 文件有一个按钮,应该打开一个对话框,但它不工作。我之前使用 javascript 创建了标头,并且效果很好。 showLoginPage 在控制器中定义为 $scope.showLoginPage() 但单击按钮时不会调用该函数
我的控制器的一个 sn-p
app.controller('headerController' , function($scope, $mdDialog, $mdMedia,userService) {
$scope.status = ' ';
$scope.userService = userService;
var useFullScreen = ($mdMedia('sm') || $mdMedia('xs')) && $scope.customFullscreen;
$scope.showLoginPage = function() {
...
}
});
【问题讨论】:
-
无法使用角模板加载脚本,将它们包含在主页中
-
检查大写字母 --
ng-click="showLogInPage()"vs$scope.showLoginPage = function() { -
您可以尝试将控制器功能移动到指令定义中,而不是单独的文件中吗?我认为当你的指令被初始化时你的控制器没有注册到你的模块中。
-
您还需要在控制器名称上加上引号 --
controller: 'headerController',
标签: javascript angularjs