KendoWindow& AngularJS:设置窗口内容不起作用

时间:2014-11-14 02:49:54

标签: angularjs kendo-ui

In this plunk你可以看到三个kendo窗口,前两个用AngularJS指令声明,第三个用jQuery声明。内容在三个窗口中设置,但它只显示在jQuery窗口中。我究竟做错了什么?为什么前两个窗口是空白的?

这是HTML:

        <div kendo-window="win1" k-title="'Win 1'"
          k-width="300" k-height="200" 
          k-content="'<h1>Some Text 1111</h1>'"></div>

        <div kendo-window="win2" k-title="'Win 2'"
          k-width="200" k-height="200"
          k-content="htmlContent"></div>

        <div id="win3"></div>

和javascript:

angular.module("KendoDemos", [ "kendo.directives" ]);

function MyCtrl($scope) {

      $scope.htmlContent = '<h1>Some Text 2222</h1>';

}


$(document).ready(function () {

  $("#win3").kendoWindow({
          visible: true,
          width: "400px",
          height: "200px",
          title: "Win 3"
        });

  var kendoWindow = $("#win3").data("kendoWindow");
  kendoWindow.content("<H1>Some text 3333</H1>");
  kendoWindow.center().open();

});

更新

我在控制台中看到kendo尝试加载k-content中的文件而不是文本:

无法加载资源:服务器响应状态为404(未找到)http://run.plnkr.co/0dvkHRto0wShGuIS/%3Ch1%3E 某些%20Text%201111 %3C / h1%3E?_ = 1415936598247

无法加载资源:服务器响应状态为404(未找到)http://run.plnkr.co/0dvkHRto0wShGuIS/%3Ch1%3E 某些%20Text%202222 %3C / h1%3E?_ = 1415936598248

所以问题是如何让KendoUI直接显示html文本而不是认为k-content指向文件。

1 个答案:

答案 0 :(得分:0)

在加载控制器时,不会创建窗口。因此,而不是

$scope.htmlContent = '<h1>Some Text 2222</h1>';

使用此

$scope.$on("kendoWidgetCreated", function(ev, widget){

  if (widget === $scope.win2) {
    $scope.win2.content("<h1>Some Text 2222</h1>");
  }

});