我有3个模块在我的AngularJS应用,如main
,home
和product
.main
模块具有home
与product
模块的依赖关系(ng.module('main', ['home', 'product'])
),而home
和product
模块不具有任何依赖关系(ng.module('product', [])
ng.module('phome', [])
),仍然product
模块可以访问home
模块服务?为什么???
下面是我的应用程序的示例代码,它具有相同的方案和相同的问题.这是JSfiddle Link.
<!DOCTYPE html>
<html ng-app="main">
<body ng-controller="MainController as mainController">
{{mainController.name}}
<script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script>
(function (ng) {
var homeModule = ng.module('home', []);
homeModule.service("HomeService", [function () {
var homeService = this;
homeService.getName = function () {
return "Home Service";
}
}]);
var productModule = …
Run Code Online (Sandbox Code Playgroud) 任何人都可以解释我,为什么本地Regex变量和非本地Regex变量有不同的输出.
var regex1 = /a|b/g;
function isAB1() {
return regex1.test('a');
}
console.log(isAB1()); // true
console.log(isAB1()); // false
console.log(isAB1()); // true
console.log(isAB1()); // false
function isAB2() {
var regex2 = /a|b/g;
return regex2.test('a');
}
console.log(isAB2()); // true
console.log(isAB2()); // true
console.log(isAB2()); // true
console.log(isAB2()); // true
Run Code Online (Sandbox Code Playgroud)
我在这里创建了一个JSFiddle
相同的.
我将从AngularJS 1.3迁移到AngularJS 1.4.这次我使用AngularJS新路线,例如AngularJS 1.4中ngNewRouter
引入的路线.
我的示例代码如下:
var versionModule = ng.module('test', ['ngNewRouter']);
versionModule.controller('TestController', ['$rootScope', '$router', function ($rootScope, $router) {
var version = this;
$router.config([
{
path: '/',
redirectTo: '/home'
},
{
path: '/home',
component: 'home'
}
]);
$rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
console.log("This line is not getting printed ever.");
});
}]);
Run Code Online (Sandbox Code Playgroud)
路由工作正常,但$ routeChangeSuccess永远不会被调用:(.
可能是$ routeChangeSuccess lister将ngRoute
仅使用模块调用,而我正在使用ngNewRouter
而不是ngRoute
.如果它是真的那么我应该绑定哪个Lister代替$ routeChangeSuccess?
我对以下命令有点困惑:
kubectl run busybox --image=busybox --restart=Never -o yaml --dry-run -- /bin/sh -c 'echo hello;sleep 3600'
Run Code Online (Sandbox Code Playgroud)
YAML:
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: busybox
name: busybox
spec:
containers:
- args:
- /bin/sh
- -c
- echo hello;sleep 3600
image: busybox
name: busybox
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Never
status: {}
Run Code Online (Sandbox Code Playgroud)
我知道如果我们不指定 parameter --command
,则后面的参数--
将被视为参数。
但我想知道,/bin/sh -c "echo hello;sleep 3600"
在争论的情况下是如何工作的?根据 Kubernetes 文档(https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes),如果我们仅在 POD 中指定参数,则 docker EntryPoint 将用作入口点命令。因此,将在 docker 映像中执行的结果命令将是Docker EntryPoint + kubectl …