私はJSファイルに変数(ハイライター)を定義しています。これを(同じJSファイルで定義する)角度コントローラー内で使用したいと思います。コントローラはそれを認識しません。オブジェクトを角度コントローラーに渡すことができません
私はいくつかの方法を試しましたが、それらはすべて失敗しました。私は少し混乱しています。 コードの関連部分と一般構造だけを貼り付けました。
(function() {
"use strict";
var highlighter;
window.highlighter = highlighter;
})();
(function(angular) {
'use strict';
angular.module('myApp', ['ui.bootstrap'])
.controller('Controller', function($scope, $window, $http) {
$scope.highlighter1 = function(side, string, load) {
highlighter.deserialize(string);
};
})
})(window.angular);
何が起こると予想されますか?正確にはどうなりますか?どのように初期化されていない蛍光灯のメソッドdeserialize()を呼び出すことができますか?なぜグローバル変数を使うのですか? –
こんにちは。コントローラでは、$ windowグローバルオブジェクトを呼び出すことができます。 like $ window.highlighter –
なぜあなたは 'window.highlighter'としてそれを割り当てていますか?ウィンドウオブジェクトにアタッチしたい場合は、 'window'オブジェクトスコープがグローバルであるため、角度コントローラ内で利用可能にする必要があります。 – superUser