2016-03-10 3 views
1

У меня есть 2 buttons и 2 contenteditable div. Когда я нажимаю button, я передаю параметр. Теперь в контроллере у меня есть функция $ rootScope. $ On(), которая добавляется в contenteditable div, поэтому я хочу написать $scope.paramter в методе $rootScope.$on(), а вместо параметра я хочу поместить значение, которое я передал в качестве параметра.

Пример:

<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, так THT при нажатии первой кнопки, contenteditable div с ng-model, так как textModel добавляется, и когда я нажимаю вторую кнопку, добавляется contenteditable div с ng-моделью в виде textModel2

Пожалуйста, помогите

ответ

1

Использование bracket notation для доступа к собственности по имени переменной:

$rootScope.$on('selectedCode', function(event, args) { 
    $scope[btnid] += 'Hello'; 
}); 
Смежные вопросы