AngularJS指令范围似乎只接受一个参数
AngularJS directive scope seems to accept only one argument
我开始学习AngularJS,但我坚持创建自己的服装指令。
所以,首先,我使用yeoman项目来生成一个AngularJS项目,这是我的起点。
现在,进入主题——
我有以下代码:
应用.js:
myapp.directive('userinfo', function() {
var directive = {};
directive.restrict = 'E';
directive.template = '<b>User: {{ user.firstName }} {{ user.lastName}}</b>';
directive.scope = {
user : '='/*, editing: false*/
};
return directive;
});
索引.html:
<body ng-app="proj2App" ng-controller="MainCtrl">
...
<userinfo user="users[0]"> </userinfo>
...
</body>
主.js:
angular.module('proj2App')
.controller('MainCtrl', function ($scope) {
$scope.users = [
{ firstName : 'John', lastName: 'Doe'}
];
});
我的问题似乎在app.js我定义指令.scope的行中找到。每当是这样的时候:
directive.scope = {
user : '='/*, editing: false*/
};
没有问题,一切都很好。但是,当我删除评论块时,它看起来像这样:
directive.scope = {
user : '=', editing: false
};
它不起作用 - 页面不会显示模板,并且角度会抛出以下错误,对我来说绝对什么也没说:
**TypeError**: undefined is not a function
at http://localhost:9000/bower_components/angular/angular.js:6436:30
at forEach (http://localhost:9000/bower_components/angular/angular.js:331:20)
at parseIsolateBindings (http://localhost:9000/bower_components/angular/angular.js:6435:5)
at http://localhost:9000/bower_components/angular/angular.js:6494:49
at forEach (http://localhost:9000/bower_components/angular/angular.js:323:20)
at Object.<anonymous> (http://localhost:9000/bower_components/angular/angular.js:6480:13)
at Object.invoke (http://localhost:9000/bower_components/angular/angular.js:4182:17)
at Object.enforcedReturnValue [as $get] (http://localhost:9000/bower_components/angular/angular.js:4035:37)
at Object.invoke (http://localhost:9000/bower_components/angular/angular.js:4182:17)
at http://localhost:9000/bower_components/angular/angular.js:4000:37
有人知道这里发生了什么吗?
在link
函数中设置editing
变量
myapp.directive('userinfo', function () {
var directive = {};
directive.restrict = 'E';
directive.template = '<b>User: {{ user.firstName }} {{ user.lastName}}</b>';
directive.scope = {
user: '='
};
directive.link = function (scope) {
scope.editing = false;
};
return directive;
});
相关文章:
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 为什么jQuery文件的函数中有两个参数,但只接收一个参数
- 当一个重要的构造函数参数丢失时应该发生什么
- 如何将一个*参数*从JS传递到AS3
- 在Flickr API的标签参数中传递一个变量
- Javascript:用while循环在给定的count参数中重复一个字符串
- 如何在mysql查询(NODE.js)中重复使用一个参数
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- Meteor.js只更新一个参数,而不是整个集合
- 将一个函数作为参数传递给javascript中的另一个函数
- Javascript不能在一个命令中使用函数参数
- 带有一个具有函数的参数的Javascript函数
- 如何使用JavaScript's”;应用“;方法,在数组之前添加一个额外的参数
- 必应地图没有'当我向函数添加另一个参数时,t显示
- 如何在HTML按钮中有一个静态onclick参数
- Function.prototype.call和Function.protoype.all只应用一个参数
- 用javascript将参数从一个函数传递到另一个函数
- javascript将函数中一个变量的参数值传递给父函数中的另一个
- Javascript/jQuery获取所有url参数并添加/更改一个参数