我在angularjs中使用ng-view
。
app.controller("onedetailsCtrl", ['$scope', '$rootScope', function($scope, $rootScope) {
$rootScope.url = "Samples/one.html";
}])
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/one', {
templateUrl: 'sample/one.htm',
controller: 'onedetailsCtrl'
}).
when('/two', {
templateUrl: 'sample/two.htm',
controller: 'deatailsController'
}).
otherwise({
redirectTo: '/one'
});
}
]);
这里我怎样才能调用控制器功能。我也试过以下方法。
$scope.$on('$viewContentLoaded', function (event) {
$compile($('#auto'))($scope);
});
})
答案 0 :(得分:0)
如果你正确地包含了角度js脚本,它将负责调用控制器功能。你不必手动调用它。如果正确写入了包含语法的everthing,angular将直接调用onedetailsCtrl,因为如果找不到任何内容,则您将路由到页面' / one '。
答案 1 :(得分:0)
与route
关联的控制器会在route
解析后自动关联。因此,可以调用链接路由控制器函数,如下所示。
<强>路线强>
when('/two', {
templateUrl: 'sample/two.htm',
controller: 'deatailsController'
}).
<强>控制器强>
添加将在视图上添加的控制器$scope
值。
app.controller('deatailsController', function($scope) {
alert('Hi deatailsController!');
// add a scope value from inside the controller
$scope.testValue = "Hello, this is the controller scope value";
}]);
查看强>
在HTML模板sample/two.htm
上添加以下{{testValue}}
,以显示从链接控制器内部绑定到scope
对象的值。