【发布时间】:2016-08-10 20:23:19
【问题描述】:
我是 Angular 的新手,我想用 Angular 重新编写/改进我的 ASP.NET 应用程序,以成为一个更好的程序员。我从创建一个顶部横幅开始,用户可以从弹出日历 (Pikaday.js) 中选择 startDate 和 endDate(将发送到 Web 服务)。问题是我似乎无法在指令模板中调用此函数:
网络表单:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="scripts/angular.min.js"></script>
<script src="scripts/myAngularApp.js"></script>
<link href="css/myStyleSheet.css" rel="stylesheet" />
<link href="css/bootstrap.css" rel="stylesheet" />
<script src="scripts/myFunctions.js"></script>
</head>
<body data-ng-app="myApp">
<top-banner></top-banner>
</body>
</html>
myAngularApp.js
/// <reference path="angular.min.js"
/// <reference path="bootstrap.min.js" />
/// <reference path="Pikaday/pikaday.js" />
/// <reference path="myFunctions.js" />
var myApp = angular.module('myApp', []);
myApp.directive('topBanner', function () {
var template = "<div class='row'>\
 Report from: \
<input type='text' id='startDate' size='6'/> To\
 <input type='text' id='endDate' size='6'/> \
<input type='button' value='Go'>\
</div>";
return {
template,
restrict: 'E'
};
});
pikaday 函数:
function loadPikaday() {
var picker = new Pikaday({
field: document.getElementById("startDate"),
firstDay: 1,
format: "YYYY-MM-DD",
minDate: new Date('2000-01-01'),
maxDate: new Date('2020-12-31'),
yearRange: [2000, 2020],
numberOfMonths: 2
});
var picker = new Pikaday({
field: document.getElementById("endDate"),
firstDay: 1,
format: "YYYY-MM-DD",
minDate: new Date('2000-01-01'),
maxDate: new Date('2020-12-31'),
yearRange: [2000, 2020],
numberOfMonths: 2
});
}
我希望我的函数在我的指令中处理模板变量的元素。我得到以下页面,这正是我想要的,但是当我单击文本字段时没有弹出 Pikaday 日历。我将非常感谢社区的反馈。谢谢!
【问题讨论】:
标签: javascript asp.net angularjs angularjs-directive