Javascript 角度三元算子在视图问题中的应用

Javascript 角度三元算子在视图问题中的应用,javascript,angularjs,Javascript,Angularjs,我需要帮助理解为什么这个角度三元不能正常工作 ng-mouseleave="window.location.href.indexOf('sell') != -1 ? sellModal = true : newsletterModal = true" 我想根据url将sellModal或newsletterModal设置为true,但是只有当条件正确时,如果用户在sell页面上,则会弹出sellModal,如果他们在另一个页面上,则newsletterModal未设置为true,这不起作用。不

我需要帮助理解为什么这个角度三元不能正常工作

ng-mouseleave="window.location.href.indexOf('sell') != -1 ? sellModal = true : newsletterModal = true"

我想根据url将sellModal或newsletterModal设置为true,但是只有当条件正确时,如果用户在sell页面上,则会弹出sellModal,如果他们在另一个页面上,则newsletterModal未设置为true,这不起作用。

不要过度使用html,只需创建一个函数即可

$scope.onLeave = function(){
    if (window.location.href.indexOf('sell') != -1) {
        $scope.sellModal = true;
    } else {
        $scope.newsletterModal = true;
    }
}
然后在你的html中

ng-mouseleave="onLeave"

听起来问题不在于你的三元运算符,而在于你的模态,因为它在一种情况下有效,但在另一种情况下无效。我通过在ng mouseleave中手动将它们设置为true来确保两种模态都有效。不要过度使用这种角度表达式。这使得代码更改很难实现,也很难阅读。你将来是否会帮自己一个忙,并将这种行为提取到控制器方法或类似方法中。为什么要在视图中解析url?您在controllerI中有可用的路径信息,我想避免使用函数,但似乎没有其他选项。谢谢