我在页面上有一个绑定到JavaScript数组的KendoUI表格。当单击网格中的一行时,会触发行更改事件并获取表示该行的对象。现在我想使用AngularJS的模板将其绑定到该模型,如下所示...
<div ng-app ng-model="currentRecord">
{{FirstName}} - {{Surname}}
</div>
名字和姓氏都是行对象的属性。所以我想问的是,我该如何在AngularJs控制器之外设置模型?
我刚开始学习Angular,所以我的问题可能不太好,如果是这样,请告诉我原因。
更新
根据Pieter的答案,我尝试用“Angular Kendo”实现此目标。
我正在使用MVC帮助程序来渲染网格,我的代码类似于:
<div ng-app="ngUsers">
<div ng-controller="UserCtrl">
<div class="span6">
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Id).Hidden(true);
columns.Bound(p => p.FirstName);
columns.Bound(p => p.LastName);
})
.Groupable()
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.Selectable()
.Events(e => e.Change("rowSelected"))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("AjaxList", "User"))
)
)
</div>
<div id="results">
{{FirstName}}
</div>
</div>
</div>
我希望在选择一行数据时,该对象的firstname属性会显示在结果div中。涉及到it技术相关内容。
我的Angular控制器如下所示...
var ngUsers = angular.module('ngUsers', ["kendo.directives"]);
ngUsers.controller("UserCtrl", function ($scope) {
$scope.rowSelected = function (kendoEvent) {
var grid = kendoEvent.sender;
var selectedRow = grid.select();
$scope.user = selectedRow;
};
});
这让我在绑定网格改变事件的行上看到了“rowSelected未定义”的错误。我猜这是因为网格无法在angular控制器中看到rowSelected事件?