那么,由于AngularJS文档站点上的"改进此文档"按钮不起作用,现在讨论已经关闭,我想问一个关于ngModelController的 "孤立范围陷阱"段落的问题.
<div ng-app="badIsolatedDirective">
<input ng-model="someModel"/>
<div isolate ng-model="someModel"></div>
<div isolate ng-model="$parent.someModel"></div>
</div>
angular.module('badIsolatedDirective', [])
.directive('isolate', function() {
return {
require: 'ngModel',
scope: { },
template: '<input ng-model="innerModel">',
link: function(scope, element, attrs, ngModel) {
scope.$watch('innerModel', function(value) {
console.log(value);
ngModel.$setViewValue(value);
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
我希望看到第三个输入影响第一个输入(因为我们只是隔离了第二个输入的范围并且没有引用'someModel'范围值),这个例子的btw行为只是惊人:第二个输入影响第一个,第三个输入影响第一个.所以问题是:我是丢失这个概念还是只是不理解它,或者在示例代码中有错误(可能不是错误,但只是没有与主题相关联)(好吧,我在Plunkr上更改了它它像我预期的那样工作).
我试图渲染这样的事情:
<thead ng-init="isDoctor = @(User.IsInRole("Doctor"))">
Run Code Online (Sandbox Code Playgroud)
我希望它是"isDoctor = true | false"(我的服务器端代码呈现此模板返回PartialView),顺便说一下我总是得到如下错误:语法错误:令牌'undefined'不是表达式的列null处的主表达式[ isDoctor =]从[isDoctor = at Error()]开始.那么,原因是什么?