我在cloud
控制器中设置了以下模式。我不会给这个模态一个特定的控制器来解决问题,因为我的目标是与我的云控制器共享它。
我不告诉模态它应该使用云控制器,因为控制器将运行两次,我不希望这种情况发生。
.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
.state('cloud', {
url: '/cloud',
controller: 'cloud',
templateUrl: 'pages/templates/cloud.html'
})
})
.controller('cloud', function($scope, $rootScope, $http, $state, $stateParams, $modal) {
$scope.toggleModal = function () {
$scope.renameModal = $modal.open({
animation: true,
templateUrl: 'pages/templates/modal.html',
size: "md",
scope: $scope
});
}
$scope.submit = function(data) {
console.log($scope.inputData, data);
}
})
我想解决的问题是我的模态模板中有一个输入框。我正在尝试提交文本,让它共享,并希望更新到云控制器内的$scope
变量之一。
下面您可以看到我的 modal.html 在提交时,它在我的云控制器中运行submit()
功能。它运行成功,但控制台日志返回$scope.inputData
和data
的 undefined 。
<div class="modal-header">
<h3 class="modal-title">title</h3>
</div>
<div class="modal-body">
<input type="text" id="rename_item" ng-modal="inputData" value="" />
</div>
<div class="modal-footer">
<button class="btn_submit fade" ng-click="submit(inputData)">Rename</button>
</div>
任何人都可以帮我弄清楚我做错了什么,或者我如何将这些数据传递给我当前的云控制器?
答案 0 :(得分:1)
BIG 向camden_kid发送错误信息,以便发现错误拼写错误ng-model
。我不小心做了 ng-modal 。
虽然纠正拼写并没有修复它。
我不知道为什么(也许有人可以帮忙解释),但我必须使用已经创建的对象才能使其工作。只使用预先定义的变量并不起作用。
所以这是我对云控制器的更改:
.controller('cloud', function($scope, $rootScope, $http, $state, $stateParams, $modal) {
$scope.toggleModal = function () {
$scope.renameModal = $modal.open({
animation: true,
templateUrl: 'pages/templates/modal.html',
size: "md",
scope: $scope
});
}
$scope.inputText = {data: ""};
$scope.submit = function(data) {
console.log($scope.inputText.data);
}
})
然后我对我的html执行了以下操作:
<input type="text" ng-modal="inputText.data" />