在Angular Material Starter App中,定义了'UserController'而不注入$ scope服务。
所以在构造函数,变量被创建为这个对象的属性:
function UserController(userService, $mdSidenav, $mdBottomSheet, $timeout, $log)
{
var self = this;
self.selected = null;
self.users = [ ];
self.selectUser = selectUser;
self.toggleList = toggleUsersList;
self.makeContact = makeContact;
但随后,在self.selectUser功能,数组self.users的值作为$范围引用。用户
function selectUser (user) {
self.selected = angular.isNumber(user) ? $scope.users[user] : user;
}
即使$ scope从未被注入,它也能正常工作。如果我将其更改为self.users,也适用。
$ scope是否隐式注入到每个Angular控制器中?它是否会在控制器构造函数中自动镜像此对象?
发生了什么事?
下面的代码https://github.com/angular/material-start
您是否在代码的其他位置设置了$ scope.users?如果条件为真,代码是否会触及? – joncodo
您是否尝试过运行该应用程序? – user1620220
我怀疑你的代码不会给出像“ReferenceError:'$ scope'没有定义的消息”... – developer033