2017-08-07 24 views
0

因此,我的ui bootstrap模型窗口工作正常,但是當我向控制器添加對象時,它停止顯示,並且不會在CONSOL中給我任何錯誤。Ui bootstrap在向控制器添加對象後不顯示

當我的控制器看起來是這樣的:

"use strict"; 

app.controller('RegisterModalCtrl', ['$scope', '$location', '$uibModalInstance', '$http', 'ngAuthSettings', 'registerService', 
function($scope, $location, $uibModalInstance, $http, ngAuthSettings, registerService) { 

var $ctrl = this; 

$ctrl.cancel = function() { 
    $uibModalInstance.dismiss('cancel'); 
}; 
/* 
$ctrl.registerInfo = { 
    email: $ctrl.registerData.email, 
    nick: $ctrl.registerData.nick, 
    password: $ctrl.registerData.password, 
    password_confirmation: $ctrl.registerData.confirm_password 
}; 
*/ 

$ctrl.registerSubmit = function(registerInfo) { 
    console.log('im in registerSubmit controller function'); 

    registerService.registerUser(registerInfo); 
    $uibModalInstance.dismiss('cancel'); 
}; 

$ctrl.showCookiesRules = function() { 
    $location.url("/cookiesrules"); 
    $uibModalInstance.dismiss('cancel'); 
}; 

$ctrl.showRules = function() { 
    $location.url("/rules"); 
    $uibModalInstance.dismiss('cancel'); 
}; 
}]); 

一切都工作得很好,但是當我刪除/ *只是registerInfo之前反對它停止顯示。這個對象有什麼問題?我希望它創建這個對象來傳遞它的功能,然後將其傳遞到服務中。

+1

我*假設*您也刪除* /在註釋塊的結束? – Brian

+2

'registerData'的定義在哪裏? – JeanJacques

+0

是的Brian我刪除*/aswell。 registerData是輸入的ng模型,例如: BT101

回答

0

所以,你應該做的是啓動$ctrl.registerInfo

$ctrl.registerInfo = {}; 

的數據並不控制器運行時,所以你想設置的$ctrl.registerInfo屬性沒有不存在的數據存在。一旦你的表格被填寫,屬性/數據將被設置。

的替代選項不會在所有初始化,並簡單地設置表單模型registerData.confirm_password,當你調用registerSubmit,用registerSubmit(registerData)調用它。這將數據發送到該方法無需控制器初始化:

<input type="text" placeholder="powtórz hasło" 
     ng-model="registerData.confirm_password" /> 

<!-- abbreviated (other form fields here --> 

<input type="submit" ng-click="registerSubmit(registerData)" /> 

如果你需要的數據之後,在registerSubmit,添加一行:

$ctrl.registerInfo = registerInfo; 

但是,我不知道你想在那裏掛上密碼。

AngularJS表格文檔:https://docs.angularjs.org/guide/forms

+0

它仍然沒有顯示,但是我把所有東西都包裹起來,並把它放到輸入[提交]點擊的函數中,現在我認爲它是完美的 – BT101