【发布时间】:2016-10-06 15:53:35
【问题描述】:
我正在 AngularJS 中创建一个自定义指令。该指令应该打开一个弹出窗口来显示数据。弹出窗口的代码在另一个 html 页面中,自定义指令将代码注入到我的主页中。我可以打开弹出窗口,但是我无法在弹出窗口的任何位置显示现有数据。
通常,我可以在主页中显示数据,但是数据只是不想进入自定义指令注入的 html。
像这样我没有收到任何错误,但是它没有传递数据。
注意:为了简化,我不得不删减部分代码。
这是我的自定义指令:
function updateCandidatePopup() {
var directive = {};
directive.restrict = "E";
directive.scope = {};
directive.templateUrl = "UpdateCandidatePopup.html";
directive.controller = function ($scope) {
$scope.SingleCandidate;
}
return directive;
}
这是我注册的地方:
myApp.directive("updateCandidatePopup", UpdateCandidatePopup);
这就是我在主页中使用指令的方式
<update-candidate-popup value="SingleCandidate" class="modal fade" ng-model="SingleCandidate"
id="myUpdateModal"
role="dialog"
popup-data="SingleCandidate">
zxc</update-candidate-popup>
这是 UpdateCandidatePopup.html:
<div> {{SingleCandidate.FirstName}} </div>
这是在弹出控制器中显示数据的方法:(仅供参考,它仍然被修剪)
myApp.controller('CandidatesController', function ($scope, $http, EmployerService, CandidateService) { //we injected localservice
//Select single data for update
$scope.getSingleData = function (C_ID) {
alert(C_ID);
$http.get('http://localhost:49921/api/Candidates/?C_ID=' + C_ID).success(function (data) {
$scope.SingleCandidate = data;
$scope.FName = $scope.SingleCandidate.FirstName;
alert($scope.SingleCandidate.FirstName);
alert($scope.FName);
}).error(function () {
$scope.error = "An Error has occured while loading posts!";
});
};
});
【问题讨论】:
标签: angularjs angularjs-directive custom-controls directive