我正在尝试创建模块和控制器以理解基本概念。我正在使用角度为js的AngularJS v1.5.0
版本。我试过下面的代码,但它不起作用。
<div ng-app="fModule" ng-controller="fController">
{{ country + "" + city }}
</div>
var newModule = angulr.module("fModule",[]);
app.controller("fController",function($region){
$region.country = "Pakistan";
$region.city = "Karachi";
});
但是上面的代码不起作用,它只返回相同的变量{{ country + "" + city }}
而不是值。任何人都可以指导我做错的地方。感谢
答案 0 :(得分:3)
你有一个错字:
var newModule = angulr.module("fModule",[]);
将其更改为:
var newModule = angular.module("fModule",[]);
当您将应用宣布为newModule
时,您还需要在声明控制器时使用它:
newModule.controller("fController",function($region){
如果您正在注射$region
,请确保已定义/加载。
答案 1 :(得分:1)
我不确定使用$ region。但是在角度js中我们有一个$ scope的概念。因此,如果用$ scope替换$ region,则代码应该可以正常工作。
除了模块定义中的一些错误 angulr 到 angular
另一件事是,如果您使用 newModule 定义模块名称,则必须使用已定义的模块添加控制器和服务。
所以在控制器定义应用到 newModule
var newModule = angular.module("fModule",[]);
newModule.controller("fController",function($scope){
$scope.country = "Pakistan";
$scope.city = "Karachi";
});
有关范围的更多详情,请仔细阅读
https://docs.angularjs.org/guide/scope
答案 2 :(得分:0)
用于的$地区是什么?你使用工厂或服务吗? 。无论如何,如果你想在视图中显示城市和国家,你应该使用$ scope。
小提琴链接:https://jsfiddle.net/um8p6pd7/1/
HTML:
<div ng-app="test">
<div ng-controller="fModule">
{{ country + " " + city }}
</div>
</div>
控制器:
angular.module('test', []);
angular.module('test').controller('fModule', function($scope, $timeout) {
$scope.country = "Pakistan";
$scope.city = "Karachi";
});
答案 3 :(得分:0)
您甚至无法将控制器绑定到您的模块。您的模块变量名称为newModule
,并且您将控制器定义为名为app
的变量,我甚至不确定您是否已声明该变量。因此,它无法从您的控制器获取任何值。所以改变以下:
app.controller (....)
到
newModule.controller (.....)