2017-07-27 69 views
0

我有一個奇怪的問題,我從來沒有見過這個問題。我嘗試scope值輸入上點擊<a>一切工作正常,但如果我已經填補了其他投入,然後點擊<a>其餘輸入值是刪除。你有什麼建議,爲什麼這是怎麼回事?ng-click輸入清除值

file.html

<input ng-disabled="product.disabled" type="text" ng-model="product.productData.oldPrice" name="oldPrice" class="form-control" ng-pattern="/^[0-9]*$/" required> 
<input ng-disabled="product.disabled" type="text" ng-model="product.productData.newPrice" name="newPrice" class="form-control" ng-pattern="/^[0-9]*$/" required> 
<input ng-disabled="product.disabled" type="text" name="level" class="form-control" ng-model="product.productData.level" required> 
<div class="input-group-addon level-add"> 
    <a ng-click="product.easyLevel()" class="add-field add-field-easy"> 
    <i class="fa fa-battery-quarter"></i> 
    </a>       
</div> 

controller.js

app.easyLevel = function(){  
    app.productData = { 
     level: 'fa fa-3x fa-battery-quarter text-primary level-higher-easy' 
    } 
} 

服務

userFactory.createNewCourse = function(productData){ 
    return $http.post('/api/courses', productData) 
} 

變量:app = thisproduct是控制器。 問題:如果兩個上輸入被填補,我點擊product.easyLevel()插入在第三輸入'fa fa-3x fa-battery-quarter text-primary level-higher-easy',上述輸入被移除

+1

嘗試'app.productData.level = 「發FA-3X FA-電池季度文本初級階段,更容易」''中app.easyLevel'功能 –

+0

@哈迪是對的。你正在覆蓋整個對象,當你應該只設置一個值,在這種情況下的水平 – yBrodsky

+0

@Hadi我得到錯誤無法設置未定義的屬性'水平' –

回答

1

應該是這樣this.because要修改productData對象只是level屬性。也應該首先聲明productData對象。

app.productData = {}; 


app.easyLevel = function(){  
    app.productData.level =fa fa-3x fa-battery-quarter text-primary level-higher-easy" 
    } 
} 

它更好地定義var vm = this;代替var app = this;