javascript - 为什么提交表单后页面没有发生变化?
巴扎黑
巴扎黑 2017-04-11 09:06:04
[JavaScript讨论组]


edit

  • {{item.value}}

function ctrl($scope) { 'ngInject'; $scope.items = [ { title: "item1", value: "value1" },{ title: "item2", value: "value2" },{ title: "item3", value: "value3" } ]; $scope.isEdit = false; $scope.submitForm = function(){ $scope.isEdit = false; } }

页面组成是这样的,一部分是信息显示,一部分是信息编辑;正常情况下显示部分展示,编辑部分隐藏;当点击edit后显示部分隐藏,编辑部分展示。

问题:

  1. ng-click="isEdit = !isEdit" 无效

  2. 为什么当点击了取消或提交按钮之后,页面没有发生任何变化呢,依旧是编辑部分展示?

pluker 展示请戳这里

巴扎黑
巴扎黑

全部回复(1)
巴扎黑

ngIf是有作用域的,你的点击事件是在ngIf内,跨作用域操作的是在ngIf外面的isEdit

两种解决方法
1.把ngIf换成ngShow
2.把isEdit写成vm.isEdit解决跨作用域的问题;或者用$rootScope把isEdit放在根作用域;

$scope.vm={
    isEdit : false
}
    $scope.submitForm = function(){
        $scope.vm.isEdit = false;
    }
$rootScope.isEdit = false;
    $scope.submitForm = function(){
        $rootScope.isEdit = false;
    }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号