【发布时间】:2015-05-14 01:00:50
【问题描述】:
我在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>
谁能帮我弄清楚我做错了什么或如何将这些数据传输到我当前的云控制器?
【问题讨论】:
-
输入属性不应该是ng-model not ng-modal吗?
-
另外,您可以只拥有:$scope.submit = function() {console.log($scope.inputData);} 和 ng-click= “提交()”
-
@camden_kid 不错的收获!但
ng-model仍然带来 undefined
标签: javascript angularjs angular-ui-router angular-ui-bootstrap