该API参考范围页面说:
范围可以从父范围继承.
该开发者指南范围页说:
范围(原型)从其父范围继承属性.
那么,子范围是否始终从其父范围继承原型?有例外吗?当它继承时,它是否总是正常的JavaScript原型继承?
javascript inheritance prototype prototypal-inheritance angularjs
我的应用程序需要UX中的复杂步骤才能到达其中的一些状态.这使得开发/测试周期非常麻烦,因为简单的布局更改必须在视觉上验证各种状态.
所以,我正在考虑以这样的方式获取正在运行的应用程序的转储/快照(即window.angular,或者也许是$ rootscope)的实用性,我可以从该快照快速恢复,运行$ rootscope. digest()和et voila.
有关如何实现这一目标的任何建议?
我不是在寻找恢复的快照来实现功能,例如它不需要有活跃的观察者或广播订阅.它只需要忠实地呈现视觉检查的视图.
- 编辑 -
我开始认为这不可能做到.
我已经意识到,从现在开始我的所有Angular项目都将有一个名为VmStateService的服务,基本上,影响渲染视图的每个VM数据项都必须存在于这个单一服务中,控制器.这样我只有一个干净的对象(它没有功能),我可以转储到字符串,或保存到本地存储,并恢复以创建我想要测试的任何视图.
我想不幸的是,每个人都通过做$ scope.foo ="bar"来学习AngularJS,然后花费他们职业生涯的剩余部分来实现创造的混乱.
我正在使用AngularJS 1.5.8。我有“ myParent”和“ myChild”组件。我认为,我的父母中有1个父母和2个孩子。所以我的问题是:我想在“ myParent”组件的控制器中拥有子“ myChild”组件的实例,并仅向特定的孩子发出命令 makePrimary(),或者像这样...我如何实现这个目标?
JS:
//var myApp =
angular.module('myApp', ['myChild', 'myParent']);
angular.
module('myChild', []).
component('myChild', {
template: '<div class="panel panel-default">' +
'<div class="panel-heading">Child</div>' +
'<div class="panel-body">' +
'Child content...' +
'</div>' +
'</div>',
controller: ['$scope', '$element',
function myChildController($scope, $element) {
}
]
});
angular.
module('myParent', ['myChild']).
component('myParent', {
template: '<div class="panel panel-default">' +
'<div class="panel-heading">Parent</div>' +
'<div class="panel-body">' +
'<my-child></my-child>' +
'<hr />' +
'<my-child></my-child>' +
'</div>' +
'</div>',
controller: ['$scope', '$element',
function myParentController($scope, $element) { …Run Code Online (Sandbox Code Playgroud)