【发布时间】:2015-08-14 14:12:11
【问题描述】:
有什么方法可以让我在 AngularJS 中创建一个模板,但直到某个事件才运行它?
实际上我正在使用 SignalR。因此,当服务器调用客户端函数时,我希望根据服务器发送的数据显示一些 HTML。
假设我正在做一个国际象棋游戏。 在服务器发送之前,我没有要在页面上显示的板。 在 HandleBar 中,我可以创建一个模板,当服务器以 json 格式发送板时,我可以编译模板并将其显示在页面上。
gameHub.client.buildBoard = function(game){
var template = Handlebars.compile($("board-template").html());
$("board").html(template(game.Board))
}
这个builBoard函数被服务器调用。
在 AngularJS 中我必须创建一个控制器,但是 $scope.board 没有加载 let。
角码是
<div ng-app="game">
<div ng-controller="boardController">
<div ng-repeat="row in board.Pieces">
// Display Pieces
</div>
</div>
JS
var app = angular.module("game", []);
app.controller("boardController", function ($scope) {
$scope.size = 5;
$scope.board= [];
});
这里板子被初始化为空数组。 现在服务器将使用所需的必要数据调用 buildBoard() 函数。
gameHub.client.buildBoard = function(board){
// Code to take this board object and assign it to the $scope.board
}
从这里(控制器范围之外),如何更新 $scope.board 数组?
【问题讨论】:
-
为什么要投反对票?我已经搜索了谷歌和 Stackoverflow。这个Quesiton 没有回答这个问题。
-
您可能被否决了,因为您的问题有点不清楚。我会更新您的问题并删除此评论。
标签: angularjs signalr handlebars.js