スコープとテンプレートを渡すと、指定されたスコープのすべての作業バインディングを含むjQuery UIダイアログで、指定されたテンプレートが表示されるはずの機能を記述しようとしています。jQuery UI dialog with angularj
ここではコードです:
HTML
<div id="mainDiv" ng-controller="myCtrl">
<input type="button" value="show dialog" ng-click="showTemplateDialog()" />
</div>
<script type="text/ng-template" id="dialogTemplate">
<div>
This is template div.
<span>Message: </span>
<p>{{message}}</p>
</div>
</script>
JS
var app = angular.module('myApp', []).controller('myCtrl', function($scope, $compile) {
$scope.showTemplateDialog = function() {
alert("hi")
var newScope = $scope.$new();
newScope.message = "This is some message";
$scope.showDialog(newScope, "dialogTemplate")
};
$scope.showDialog = function(dialogScope, template) {
var div = $("<div style='' id='dialog' title='Test Dialog' ng-include=\"'" + template + "'\"></div>");
$compile(div)(dialogScope);
$("#mainDiv").append(div);
div.dialog();
}
})
私はdiv.dialog()
を呼び出すときに問題がある、それはjquery-ui.min.js
Unhandled exception at line 9, column 26027 in http://localhost/TestApp/scripts/jquery-ui.min.js
0x800a138f - JavaScript runtime error: Unable to get property 'display' of undefined or null reference
このエラーを解決する方法を提案してください。あるいは、anglejsを使ってjQueryダイアログでhtml/templateを表示する他の方法を提案してください。
:ここ
が更新されたコードです。 –