我有一个与此问题类似但又不同的问题。
在这里,我试图为window.postMessage
处理程序添加事件侦听器。
app.run(function ($location, $window, $rootScope) {
$window.addEventListener('message', function(e) {
$location.path("/abc");
console.log($location.path()); // this prints "/abc" as expected
$rootScope.$apply(); // this has no effect
$scope = angular.element(document).scope(); // this is the same as $rootScope
$scope.$apply(); // so this also has no effect
});
});
在$location.path
没有被角的认可。
另一个问题是我应该调用$apply()
作用域,但是对我来说唯一可用的作用域是$rootScope
调用$apply()
它似乎不起作用。
对答案的评论表明,可以使用
$scope = angular.element(document).scope()
但这给了我$rootScope
,这是行不通的。
如何获得角度来重新确定更改$location.path()
?是否有更好的方式注册message
回调,以便可以更改路径?
您应该在$apply()
类似方法中将表达式作为函数运行
app.run(function ($location, $window, $rootScope) {
$window.addEventListener('message', function(e) {
$rootScope.$apply(function() {
$location.path("/abc");
console.log($location.path());
});
});
});
请参阅文档-ng。$rootScope.Scope。
如果要提高可测试性,请使用$console
代替console
并注入该对象。
问题内容: 我想右上角,但仅适用于左上角 问题答案: 问题在于您需要在为当前设备调整视图大小之前获取视图的边界。它比以后在屏幕上出现时要大,因此,圆角矩形的右侧不在屏幕的右侧。 在调整视图大小之后,您需要稍后创建和设置,这意味着在运行循环的布局阶段期间或之后。因此,要么继承视图的子类并在视图的方法中进行操作,要么在视图控制器的方法中进行操作。
在代码中使用XSLT 2.0的字符映射功能时,我遇到了以下错误。 名称空间中的元素“样式表”http://www.w3.org/1999/XSL/Transform'命名空间中的子元素'character map'无效'http://www.w3.org/1999/XSL/Transform“是的 这是我的XSLT声明 请提供有关如何在XSLT中使用字符映射的帮助。
问题内容: 似乎无法正常工作。通过日期是这样的: 在目标状态上忽略参数 码: 现场示例可以在 这里 找到 谢谢。 问题答案: 您不能在状态之间传递任意参数,您需要将它们定义为定义的一部分。例如 上面的代码将输出定义了contactId属性的对象。如果你去,你会的。 有关更多信息,请参见UI-Router URL路由的文档。
在ngFor循环中使用ngModel有一个问题。我在做电子商务应用程序,我想用数量来获得输入的价值,但每个ngModel都有相同的名称,所以它一直更新所有的输入,像这样:Img和下面是我的页面代码:
问题内容: 我在PhoneGap中遇到ngView的问题。 一切似乎都可以正常加载,我什至可以使用ng-controller使基本控制器正常工作。但是,当我尝试在ngView中使用路由时,什么也没发生。 index.html app.js 每次单击链接时,Eclipse记录器都会显示该链接,而在没有链接的情况下尝试该链接会引发一个错误,即找不到该路径。 从我在其他任何地方已经做好的准备,这应该可以
我试着用angular-6中的angular材质 我的材料。单元ts是这样的 它正在给出错误 请帮帮我