app.js でさまざまなコントローラーと対応するテンプレート URL を定義しました。
var App = angular.module('FormApp', [ 'ngRoute','ui.bootstrap', 'dialogs', 'oc.modal' ]);
App.config([ '$routeProvider', function($routeProvider) {
$routeProvider.when('/addClient', {
templateUrl : '../../resources/partialHtml/addClientLayout.html',
controller : FormController
}).when('/conflist/:commandName/:client/:env', {
templateUrl : '../../resources/partialHtml/testPrase.html',
controller : TestParseController
}).when('/addNewCommand', {
templateUrl : '../../resources/partialHtml/addNewCommand.html',
controller : AddNewCommandController
})
} ]);
私の TestParseController は定義どおりです:
var TestParseController = function($scope, $window, $http, $routeParams, $sce,
$compile) {
$scope.hide = function(obj) {
alert($routeParams.commandName);
};
$scope.to_trusted1 = function(html_code) {
html_code = $sce.trustAsHtml(html_code);
$scope.content = html_code;
alert(html_code);
$compile( document.getElementById('innerh'))($scope);
};
$http.get('client/getConfList/' + $routeParams.commandName)
.success(
function(data) {
$scope.html_content = "<button data-ng-click='hide($event)'>Click me!</button>";
$scope.to_trusted1($scope.html_content);
});
}
Html : testParse.html :
<h3 data-ng-click="hide($event)" class="plus">Add</h3>
<div ng-bind-html="content" id="innerh"> </div>
div は適切に入力されますが、入力されたボタンの ng-click は機能しませんが、ページ自体で使用可能な h3 タグでは適切に機能します。
誰か助けてください..