Javascript Angularjs ui引导模式共享信息到同一控制器

Javascript Angularjs ui引导模式共享信息到同一控制器,javascript,angularjs,angular-ui-router,angular-ui-bootstrap,Javascript,Angularjs,Angular Ui Router,Angular Ui Bootstrap,我在我的云控制器中设置了以下模式。我不会给这个模式一个特定的控制器,因为目标是与我的云控制器共享它 我没有告诉modal它应该使用云控制器,因为这样控制器将运行两次,我不希望这种情况发生 .config(function($stateProvider, $urlRouterProvider, $locationProvider) { $stateProvider .state('cloud', { url: '/cloud',

我在我的
控制器中设置了以下模式。我不会给这个模式一个特定的控制器,因为目标是与我的云控制器共享它

我没有告诉modal它应该使用云控制器,因为这样控制器将运行两次,我不希望这种情况发生

.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
变量之一

下面您可以看到mymodal.html在提交时,它在my cloud controller中运行
submit()
函数。它已成功运行,但控制台日志返回未定义的
$scope.inputData
数据

<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>

标题
改名

有谁能帮我找出我做错了什么,或者我如何将这些数据传送到我当前的云控制器上吗?

ABIG向camden_kid大喊,因为他发现了我拼写错误的
ng model
。我不小心把它弄坏了

不过,仅仅纠正拼写并不能解决问题

我不知道为什么(也许有人可以帮我解释),但我不得不使用一个已经创建的对象来让它工作。仅仅使用预定义的变量是行不通的

这是我对云控制器的更改:

.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" />  


输入属性不应该是ng model而不是ng model吗?另外,您可以只使用:$scope.submit=function(){console.log($scope.inputData);}和ng click=“submit()”@camden\u!但是,ng模型仍然带来了未定义的问题,原因是该模型的作用域是孤立的。您必须使用close方法,这将传递一个承诺,该承诺在模式关闭时得到解决。查看文档中的演示Plunker,了解模式: