我正在玩新的角度路由器,并想尝试一个用例,我有一个组件和一个嵌套组件.
下面是我编写的用于定义两个组件和路由的JavaScript代码:
angular.module('app', ['ngNewRouter'])
.controller('AppController', function ($router) {
$router.config([
{
path: '/parent',
component: 'parent'
}
]);
})
.controller('ParentController', function ($router) {
this.name = 'Parent component';
$router.config([
{
path: '/child',
component: 'child'
}
]);
})
.controller('ChildController', function () {
this.name = 'Child component';
})
.config(function ($componentLoaderProvider) {
$componentLoaderProvider.setTemplateMapping(function (compName) {
return compName + '.html';
});
});
Run Code Online (Sandbox Code Playgroud)
和HTML部分:
<!-- index.html -->
<body ng-controller="AppController as app">
<a ng-link="parent">Go to parent</a>
<div ng-viewport></div>
</body>
<!-- parent.html -->
{{ parent.name }}<br/>
<a ng-link="child">Show …
Run Code Online (Sandbox Code Playgroud) 我目前正在研究如何在Scala中处理协变和逆变类型参数化.还有一个特例,var字段必须是private [this]才能编译.从此代码段中的示例(在此问题中采用:private [this] vs private):
class Holder[+T] (initialValue: Option[T]) {
// without [this] it will not compile
private[this] var value = initialValue
def getValue = value
def makeEmpty { value = None }
}
Run Code Online (Sandbox Code Playgroud)
我理解这个例子.但我无法理解的是,在什么情况下,私有字段可以从其他实例访问而不是itselt(this)?
谢谢你的帮助.