我试图在主页的div中加载另一个jsp页面。它的工作正常。但angularjs功能不起作用。
我的HTML是......
<a href="javascript:;" class="dropdown-toggle" data-hover="megamenu-dropdown" data-close-others="true" ng-click="loadMain()"> File Import<i class="fa fa-angle-down" aria-hidden="true"></i> </a>
<div id="contentDiv">
</div>
我的角度js是: 控制器:
$scope.loadMain = function () {
alert(" reached to controller!!!");
var resp = services.test();
resp.then(function (response) {
document.getElementById("contentDiv").innerHTML = $sce.trustAsHtml(response.data);
});
};
服务是:
this.test = function () {
alert("coming from service!!!");
return $http.get("fileimport/fileupload")
.then(function (response) {
return response;
});
};
我的fileupload.jsp页面是:
<div class="row">
<!-- BEGIN VALIDATION STATES-->
<div class="portlet light portlet-fit portlet-form bordered">
<div class="portlet-body">
<!-- BEGIN FORM-->
<div class="row">
<div class="col-md-12">
<div class="note note-info">
<h4><i class="fa fa-info-circle" aria-hidden="true"></i> File Upload</h4>
</div>
</div>
<div class="col-md-6 leftbor">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input form-md-floating-label has-info">
<div class="input-icon">
<input type="text" tabindex="24" class="form-control" ng-model="uploadform.uername">
<label for="form_control_1">User Name :</label>
<span class="help-block">Enter User Name...</span>
<i class="fa fa-user" aria-hidden="true"></i>
</div>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<div class="row">
<div class="col-md-4">
<label for="single-append-text" class="control-label">Template :</label>
</div>
<div class="col-md-8">
<div class="input-group select2-bootstrap-append">
<select id="single-append-text" tabindex="8" ng-model="uploadform.templateName" class="form-control select2-allow-clear">
<option></option>
<optgroup label="Select Template">
<option value="new">New</option>
<option value="AK">Alaska</option>
<option value="CA">California</option>
</optgroup>
</select>
<span class="input-group-btn">
<button class="btn btn-default" type="button">
<i class="fa fa-refresh" aria-hidden="true"></i>
</button>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="col-md-4">
<label class="control-label">Excel File Upload :</label>
</div>
<div class="col-md-8">
<div class="fileinput fileinput-new" data-provides="fileinput">
<div style="float: left;">
<span class="btn green btn-outline btn-file" >
<span class="fileinput-new"><i class="fa fa-picture-o" aria-hidden="true"></i> Select excel </span>
<span class="fileinput-exists"><i class="fa fa-refresh" aria-hidden="true"></i> Change </span>
<input type="file" tabindex="8" name="excelFile" id="excelFile" file-model="myFile">
</span>
<a href="javascript:;" class="btn red fileinput-exists" data-dismiss="fileinput"> <i class="fa fa-close" aria-hidden="true"></i> Remove </a>
<div class="clearfix"></div>
</div>
<div class="fileinput-preview thumbnail" data-trigger="fileinput" style="width: 200px; height: 160px;">
<img src="<c:url value='/assets/layouts/layout/img/img3.png'/>" alt="logo" class="logo-default" />
</div>
</div>
</div>
<div class="col-md-8">
<div class="fileinput fileinput-new" data-provides="fileinput">
<div>
</div>
</div>
</div>
</div>
<div>
<input type="button" value="upload" class="btn default btn-lg" ng-click="uploadFile()"/>
<button ng-click="uploadFile()" class="btn default btn-lg">upload me</button>
<!--<button ng-click="fileUpload()">upload</button>-->
</div>
</div>
</div>
</div>
<div class="clearfix"></div>
<!-- END FORM-->
</div>
</div>
<div style="color: green"> {{uploadform}}</div>
<!-- END VALIDATION STATES-->
此处ng-click在fileupload.jsp页面中也不起作用 {{uploadform}} 无效
答案 0 :(得分:1)
使用ng-include
而不是包含模板的本机java脚本方式,因为Angular不会识别在其上下文之外发生的事件,原因相同,您的范围变量未被评估,即{{uploadform}} and ng-click
不起作用。在btw中,当您使用Angular Js框架时,这是一种包含HTML的错误做法。