2014-11-02 82 views
0

我有這種形式從服務器:角NG-模型命名空間

<form> 
    <input type="text" ng-model="model1"> 
    <input type="text" ng-model="model1"> 
</form> 

在範圍我有很多其他變量。所以我想創建這樣的對象:

obj = { 
    model1: '1', 
    model2: '2' 
} 

但是model1和model2是一個動態名稱,它會生成一個服務器。 我無法編輯form-html,但我可以將其包裝到div。我該如何做這樣的事情?

<div namespace="obj"> 
    <form> 
    <input type="text" ng-model="model1"> 
    <input type="text" ng-model="model1"> 
    </form> 
</div 

//$scope.obj equal {model1: '1', model2: '2'} 
+0

是否都輸入字段指向您的示例相同的模型( 「MODEL1」) ?你也指出你有很多其他變量。這是一個指令嗎?控制器?你必須更具體地獲得幫助.. – Tomer 2014-11-02 16:42:38

回答

0

我不完全確定是什麼問題,但我會盡我所能提供幫助。如果您希望在特定範圍下使用表單,則需要將其包裝在ng控制器中,或者創建指令。

<div ng-controller="FormController"> 
    <form> 
    <input type="text" ng-model="model1"> 
    <input type="text" ng-model="model2"> <!-- I am not sure if this was a typo by you --> 
    </form> 
</div> 

控制器:

angular.module('Form.Controller', []) 
.controller('FormController', function() { 
    $scope.obj = { 
     model1: '1', 
     model2: '2' 
    }; 
}); 

指令:

angular.module('Form.Directive', []) 

.directive('formWrapper', function() { 

    return { 
    restrict: 'E', 
    transclude: 'true', 
    template: '<div ng-transclude></div>', 
    controller: 'FormController' 
    } 

}); 

HTML:

<form-wrapper> 
    <form> 
     <input type="text" ng-model="model1"> 
     <input type="text" ng-model="model2"> <!-- I am not sure if this was a typo by you --> 
     </form> 
    <form-wrapper>