Интеграция AngularJS с Webix, вызов события, определенного в объекте конфигурации
Я создаю приложение с Angular JS и Webix.
Как вызвать функцию (скажем, "accountSelected"), отмеченную при инициализации конфигурации, которая определена в угловой области того же контроллера,
HTML:
<html xmlns:ng="http://angularjs.org" ng-app="accountSearchApp">
<body ng-controller="searchController">
<div webix-ui="datatable_config" ></div>
</body>
</html>
СЦЕНАРИЙ:
var accountSearchApp = angular.module('accountSearchApp', [ "webix" ]);
// defining controller
accountSearchApp
.controller("searchController", function($scope){
$scope.datatable_config = {
id: "dt_01",
view:"datatable",
columns:[
{id:"edit", header:["Choose", {
content:"textFilter", placeholder:"Type here to filter the grid",
compare:oneForAll, colspan:2
}], width:200, template:"<a href='javascript:void(0)' onclick='accountSelected()'>Select</a>"
},
{ id:"AccountName", header:["Account Name",null], width:300, sort:"string"},
],
data: arryObj
};
$scope.accountSelected = function(){
console.log(" SUCCESS ");
}
});
Я могу вызывать, когда определение accountSelected функции находится вне области контроллера, мне нужно, чтобы оно работало с функцией, определенной в области контроллера.
1 ответ
Решение
Вы можете заменить встроенный обработчик onclick функцией js. Как это
columns:[
{ id:"edit", header:"Choose", width:200,
template:"<a href='javascript:void(0)' class='myLink'>Select</a>"
}
],
onClick:{
myLink:function(e, id){ $scope.accountSelected(id); }
}