2014-11-23 30 views
0

我有幾個對象和一個表單。每個對象應該記住它的形式(主要是髒)的狀態。帶有動態名稱的角度表格不會初始化

我試圖創建一個動態的名字像這樣的形式:

<form name="selectedObject.form"> 
    <input type="text" name="name" ng-model="selectedObject.name" required> 
</form> 

我的問題是:

  1. 我做的第一個表單髒
  2. 更改所選對象
  3. 表格被認爲是髒的

我會認爲使用表單的動態名稱將設置一個手錶,並使其動態重新顯示。 無論如何要做到這一點?

這裏有一個plunkr模擬問題: http://plnkr.co/edit/NAHVfhCf6RhpJHPGl7El?p=preview

回答

0

當你想擁有它的工作,我想不會。我也在代碼中看到問題,即表單聲明。名稱是字符串,所以現在您的表單名稱總是文字selectedObject.form。我認爲你應該把它寫成<form name="{{ selectedObject.form }}">,並且有實際的表格名稱,而不是你現在分配的{}

您可以將isDirty作爲新屬性添加到您的objects並手動切換。

$scope.objects = [{ 
    name: 'Object1', 
    type: 'Type1', 
    form: 'form1', 
    isDirty: false 
},{ 
    name: '', 
    type: 'Type2', 
    form: 'form2', 
    isDirty: false }]; 

<body ng-controller="MainCtrl"> 
    <button ng-click="setSelected()">Change selected</button> 
    <form name="{{ selectedObject.form }}"> 
    <input type="text" 
      ng-model="selectedObject.name" 
      ng-change="selectedObject.isDirty = true"> 
    {{ selectedObject.isDirty }} 
    </form> 
</body>