javascript - 在不调用函数的情况下更改 ng-click 上的范围变量

标签 javascript angularjs operators angularjs-ng-click angular-ng-if

如何在不从 Controller 调用函数的情况下更改范围变量。

我试图在 editState 变量等于 1 时显示一个 div 内容,但它不起作用。

HTML

<body data-ng-controller="profileCtrl as pctrl">

    <div data-ng-click="pctrl.editState === 1">Edit</div>

    <div data-ng-if="pctrl.editState === 1">
        .....
    </div>

</body>

JS(在 profileCtrl Controller 中)

this.editState = 0;

但是当我调用一个函数时它起作用了(我不想这样做)

<div data-ng-click="pctrl.editFn()">Edit</div>

this.editFn = function() {
     this.editState = 1;
}

最佳答案

ng-click 指令中设置值时,使用赋值运算符 = 而不是 === 精确检查运算符。

应该是

<div data-ng-click="pctrl.editState = 1">Edit</div>

代替

<div data-ng-click="pctrl.editState === 1">Edit</div>

关于javascript - 在不调用函数的情况下更改 ng-click 上的范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30717320/

相关文章:

javascript - 使用动态生成的选项为 Select react defaultValue

javascript - 是否需要将 javascript 回调函数作为参数传递?

javascript - Sencha Touch 让简单的按钮发挥作用

javascript - Angularjs - 将 blob 保存到不处理动态数据的文本文件

javascript - 使用 `angular.copy ` 设置模型 - 有什么好处?

rxjs - Angular 6 单元测试 rxjs 6 操作符点击单元测试拦截器

javascript - 倒计时不起作用

javascript - Ng-repeat 不会卡住超过 12k 条记录的 UI

javascript - 如何根据 JavaScript 中哪个 nodeList 不为空来设置变量?

php - 双小于号和管道运算符是做什么的?