Я уже объявил о своем приложении и контроллере в отдельном файле, а ниже описано, как я загружаю свой контроллер html DOM, но он не показывает это сообщение. Может ли кто-нибудь помочь вам в этом.
HTML:
<div id="bnProblemList">
<div ng-controller="problemListCtrl" data-ng-init="init()">
<div ng-view="">this is my message = {{message}}</div>
</div>
</div>
JS:
html = $j('#bnProblemList').html();
$compile(html)(scope);
Пожалуйста, дайте мне знать, как динамически вводить или загружать ng-controller html.
Неправильное объявление вашего контроллера. Вы должны сделать это следующим образом:
var myApp = angular.module('myApp',[]);
myApp.controller('problemListCtrl', ['$scope',
function($scope) {
$scope.message = "This is my message :-)";
}
]);
i was able to load/ inject controller dynamically by the help of below code
<div id="bn" ng-controller="myCtrl as vm">
<div ui-view=''></div>
</div>
<script>
angular.element(document).injector().invoke(function($compile, $state) {
$state.go('myCtrl');
var scope = angular.element($j("#bn")).scope();
$compile($j("#bn"))(scope);
});
</script>
Правильный способ - объявить ваш контроллер в анонимную функцию и добавить его в модуль. Затем вам нужно установить ngApp
.
Controller.js
Здесь мы объявим наш контроллер и создадим модуль приложения. Затем мы объявим ctrl
как наш контроллер в наш модуль app
.
(function(){
function Controller($scope) {
$scope.name = 'toto';
}
angular
.module('app', [])
.controller('ctrl', Controller);
})();
HTML
<body ng-app='app' ng-controller="ctrl">
<p>My name is {{name}}</p>
</body>
И не забудьте указать свой тег скрипта:
<script src="controller.js"></script>
Вы можете попробовать Пример ниже:
Html Страница:
<!DOCTYPE html>
<html ng-app="MyApp">
<head>
<title> Controller</title>
<script src="../Js/angular.min.js"></script>
<script src="../Js/Controller.js"></script>
</head>
<body>
<div ng-controller="MyFirstController">
{{ Msg }}
</div>
</body>
</html>
Страница ControllerJs:
var MyApp=angular.module("MyApp",[]);
MyApp.controller("MyFirstController",function($scope){
$scope.Msg="Hello First Conroller";
})
ng-app
перед использованиемng-controller
? Ваш контроллер включен в ваш индекс?