0

我正在使用 Angular JS 和 Webix 构建一个应用程序。

如何调用在配置初始化中标记的函数(例如“accountSelected”),该函数在同一控制器的角度范围内定义,

HTML:

<html xmlns:ng="http://angularjs.org&quot; 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 定义位于控制器范围之外时,我能够调用,我需要它与控制器范围内定义的函数一起使用。

4

1 回答 1

1

您可以用 js 函数替换内联 onclick 处理程序。像这样

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); }
}
于 2014-05-08T14:02:10.407 回答