我正在尝试在我的 Web 应用程序中包含一个 angular-ui 模态,但是在设置所有内容时遇到了问题。
文档表明您可以使用 $modalInstance 将子控制器注入父控制器,但我不太明白如何去做。
这是当前代码(直接来自文档中的模态演示):
angular.module('myApp.controllers', []).
controller('addContent', function ($scope, $http, $modal, $log){
//modaltest
$scope.items = ['item1', 'item2', 'item3'];
$scope.addTerm = function () {
var newTerm = $modal.open({
templateUrl: 'newTermModal.jade',
controller: newTerms,
resolve: {
items: function () {
return $scope.items;
}
}
});
newTerm.result.then(function (selectedItem) {
$scope.selected = selectedItem;
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
};
}).
controller("newTerms",function($scope, $modalInstance, items){
$scope.items = items;
$scope.selected = {
item: $scope.items[0]
};
$scope.ok = function () {
$modalInstance.close($scope.selected.item);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
});
当我像现在一样运行应用程序并单击按钮打开模式(addTerm 函数)时,应用程序崩溃并出现错误“ReferenceError:newTerms 未定义”。
正如我上面提到的,angular-ui 站点表明您可以使用 $modalInstance 注入控制器,但我无法弄清楚如何。任何帮助将不胜感激!
编辑
按照 Chandermani 的建议在路径名上添加引号后,似乎模式正在加载当前页面而不是指定的模板。
我已将路径更改为以下内容:templateUrl:
$scope.addTerm = function () {
var newTerm = $modal.open({
templateUrl: './views/partials/newTermModal.jade',
controller: 'newTerms',
resolve: {
items: function () {
return $scope.items;
}
}
});
问题截图如下:
知道是什么原因造成的吗?