以下は私のコントローラーコードです:
app.controller('HomeController', ['$scope', '$location', '$sce', '$routeParams', '$timeout', function($scope, $location, $sce, $routeParams, $timeout ) {
// Configuration Variables:
$scope.title = "Site Title";
$scope.logosrc = "images/site_logo.gif";
$scope.tagline = "This is the new tagline!!!";
// This changes the shadowed aspect of the top nav and footer based on a checkbox
$scope.shadowChange = function(cb){
alert ("hi");
return true;
};
// This converts any HTML code in the text to actual code so that it renders properly
$scope.renderHtml = function(html_code)
{
return $sce.trustAsHtml(html_code);
};
}]);
次のように、チェックボックスで onClick を使用して、コードで shadowChange 関数を呼び出します。
<input type="checkbox" name="shadow" id="shadow" checked onClick="shadowChange(this);" />
HomeController を body タグに関連付けるだけでなく、(念のため) HomeController を使用して関連するコードを別の div にラップしました。Chrome インスペクターは、HomeController が正常にロードされていることを教えてくれます。
さらに、コントローラーの上部にある構成変数が適切に設定されています。
それでも、チェックボックスをクリックすると、shadowChange が定義されていないというエラーが表示されます。そこにある他の関数 renderHtml を (テストのためだけに) 試しても、同じエラーが発生します。それでも、私の別のアプリケーションでは、同じ方法で使用しており、正常に動作します。
コードが関数を認識できない原因がわかりません。
考え?