2016-03-10 77 views
1

我有2 buttons和2 contenteditable div。當我點擊一個button時,我傳遞了一個參數。現在在控制器中,我有一個$ onScope。$ on()函數,它追加在contenteditable div中,所以我想在$rootScope.$on()方法中編寫$scope.paramter,並且代替參數,我想將我傳遞的參數作爲參數。

例子:

<button type="button" ng-click="open('textModel')">Emojis</button> 
<div contenteditable="true" ng-model="textModel"></div> 

<button type="button" class="btn btn-default" ng-click="open('textModel2')">Emojis</button> 
<div contenteditable="true" ng-model="textModel2"></div> 

//內部控制

$rootScope.$on('selectedCode', function(event, args){ 
    console.log(btnid); //btnid has the value textModel or textModel2 depending on the button clicked 
    $scope.btnid += 'Hello'; //I want that instead of btnid, textModel gets appended 
}); 

現在,在控制器我想把它寫成$scope.textModel += 'Hello';代替$scope.parameter,所以謂當我按下第一個按鈕時,contenteditable div用ng-model作爲textModel被追加,當我按下第二個按鈕,contenteditable div與ng-model作爲textModel2被追加

請幫助

回答

1

使用bracket notation通過變量名稱訪問屬性:

$rootScope.$on('selectedCode', function(event, args) { 
    $scope[btnid] += 'Hello'; 
}); 
相關問題