我有如下指令-
<div data-my-param-control data-save-me="saveMe()"></div>
在指令控制器中,我从具有隔离范围的控制器中绑定 saveMe() 函数,如下所示 -
function MyParamControlDirective($filter,
$state,
$stateParams,
$uibModal,
) {
return {
restrict: 'AE',
scope: {
saveMe: '&',
},
templateUrl: 'html/myhtml',
controller: ['$scope', function ($scope) {
$scope.saveMeHandler = function () {
var saveMe = $scope.saveMe();
$uibModal.open({
animation: false,
windowTopClass: '',
templateUrl: 'html/askmyname',
size: 'sm',
resolve: {
saveMe: function () {
return saveMe;
}
},
controller: function (
$scope,
$uibModalInstance,
saveMe,
toastr
)
{
$scope.close = function () {
$uibModalInstance.close();
};
$scope.saveMyName = function() {
$scope.submited = true;
if ($scope.my_name != "undefined" && $scope.my_name != "") {
saveMe();
$scope.close();
} else {
toastr.error('Please enter search name');
}
}
}
});
};
}]
};
}
到目前为止一切正常。
我在指令中添加了一个 uibModal 并打开一个弹出窗口以获取名称。名称来自 $scope.my_name 变量。现在我想在函数 saveMe() 中传递这个名称。如果我直接传递像 saveMe($scope.my_name); 这样的变量 它在控制器功能中显示未定义。以下是控制器功能 -
$scope.saveMe = function () {
//logic here to save data
};
你们能帮助我如何将 my_name 从模态传递到 saveMe 方法。提前致谢