2017-07-06 119 views
0

使用生成的代碼,我的某個實體無法保存。在8080端口上,表單保持不變,在點擊提交按鈕後控制檯上什麼也沒有顯示。但是,在9000端口上,日誌消息顯示在單擊該按鈕後從數據庫獲取相關實體。任何控制檯上都沒有錯誤消息,包括瀏覽器的控制檯。在dialog.html文件,第一行如下:單擊提交按鈕後不會發生任何事情

<form name="editForm" role="form" novalidate ng-submit="vm.save()" 
show-validation> 

所以我插在日誌中dialog.controller.js的JavaScript函數的第一行:

function save() { 
    console.log("Saving ..."); 
... 

如何我應該解決它嗎?

控制器的結構是如下:

(function() { 
'use strict'; 

angular 
    .module('myApp') 
    .controller('MyDialogController', MyDialogController); 

SkuSDialogController.$inject = ['$timeout', '$scope', '$stateParams', '$uibModalInstance', 'DataUtils', 'entity', 'MyEntity', 'MyRelatedEntity']; 

function SkuSDialogController ($timeout, $scope, $stateParams, $uibModalInstance, DataUtils, entity, MyEntity, MyRelatedEntity) { 
    var vm = this; 

    ... 
    vm.clear = clear; 
    vm.datePickerOpenStatus = {}; 
    vm.openCalendar = openCalendar; 
    vm.byteSize = DataUtils.byteSize; 
    vm.openFile = DataUtils.openFile; 
    vm.save = save; 
    ... 

    $timeout(function(){ 
     angular.element('.form-group:eq(1)>input').focus(); 
    }); 

    function clear() { 
     $uibModalInstance.dismiss('cancel'); 
    } 

    function save() { 
    console.log("Saving ..."); 
     vm.isSaving = true; 
     if (vm.myEntity.id !== null) { 
      MyEntity.update(vm.myEntity, onSaveSuccess, onSaveError); 
     } else { 
      MyEntity.save(vm.myEntity, onSaveSuccess, onSaveError); 
     } 
    } 

    function onSaveSuccess (result) { 
     $scope.$emit('myApp:myEntityUpdate', result); 
     $uibModalInstance.close(result); 
     vm.isSaving = false; 
    } 

    function onSaveError() { 
     vm.isSaving = false; 
    } 

    vm.datePickerOpenStatus.activeStartDate = false; 
    vm.datePickerOpenStatus.activeEndDate = false; 

    function openCalendar (date) { 
     vm.datePickerOpenStatus[date] = true; 
    } 
    } 
})(); 
+0

這是否有誤?那是Angular代碼不是Vue。 – Bert

+0

你的意思是「ng-」。我檢查了正在工作的代碼的其他部分,並且它們具有相同的前綴ng。 – vic

+0

這和你剛剛添加的所有代碼都是Angular。 – Bert

回答

0

應用這在你的HTML

<div ng-controller="(put here your controllerName) as vm"> 
+0

謝謝。我明天會測試它。我的時間已經很晚了。 – vic

+0

請添加解決方案的說明。 –

+0

這不是必需的,因爲生成的代碼已經通過路由器分配在上下文中具有範圍 – Deepu

0

在你的控制器試試這個,

vm.save = function() { 
console.log("Saving ..."); 
    vm.isSaving = true; 
    if (vm.myEntity.id !== null) { 
     MyEntity.update(vm.myEntity, onSaveSuccess, onSaveError); 
    } else { 
     MyEntity.save(vm.myEntity, onSaveSuccess, onSaveError); 
    } 
} 
+0

爲什麼不觸發按鈕ng-click中的vm.save() –

+0

謝謝。我明天會測試它。我的時間已經很晚了。 – vic

+0

這不是必需的,因爲生成的代碼已經通過路由器分配在上下文中具有範圍,並且該功能已經分配給vm – Deepu

0

您可能忽略提交按鈕? <button type="submit">Submit</button><input type="submit" value="Submit">

0

該問題是由html文件中的字段名稱引起的。字段名稱是「屬性」。一旦我替換了名字,問題就消失了。 JHipster AngularJS應該有一個更好的錯誤消息,以便這種類型的問題可以很快固定下來。這個問題沒有任何錯誤信息。

相關問題