我的頁面上綁定了一個JavaScript數組,它有一個KendoUI網格。當點擊網格中的一行時,行更改事件觸發,我抓取表示該行的對象。我現在想用AngularJS的模板綁定到該模型是這樣的...如何將頁面上已有的JavaScript對象傳遞給AngularJS模板
<div ng-app ng-model="currentRecord">
{{FirstName}} - {{Surname}}
</div>
兩個名字和姓氏是該行的對象的屬性。所以我想我要問的是如何從AngularJs控制器的外部設置模型?
我只是選擇Angular,所以我問的可能是一個壞主意,如果是這種情況,請讓我知道爲什麼。
更新
按照彼得的答案我已經試過用「角劍道」
我使用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中。
我的角度控制器看起來是這樣的....
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上沒有結合網格更改事件的定義行。我認爲這是因爲網格不能在角度控制器中看到rowSelected事件?
JSON是一種將JavaScript對象表示爲字符串的協議。也許你的意思是JavaScript數組和JavaScript對象? – 2013-06-18 11:21:41
對不起,我喜歡。 – Gavin