javascript - 嵌套 View Controller 和 ng-click - AngularJs

标签 javascript jquery angularjs node.js pug

我有 8 个jade View ,当时只加载其中一个,并由 jquery 填充到一个 div 中,该 div 具有 Controller

现在,我有两个问题:

  1. 是否有必要在我的部分 View 之上再次定义 Controller (与主 Controller 相同的 Controller )?
  2. 所有这些 View 都有相同的 ng-click。但加载后它们不起作用。然而它们是通过 jquery click 事件工作的。我应该对他们做一些额外的事情吗?

我之前对 li 元素也遇到过同样的问题,但我通过 ng-click not working from dynamically generated HTML 获取帮助解决了这个问题。通过使用compileData,但我无法通过按钮获得结果。

代码:

主要 Jade :

div(ng-controller="elementCtrl") 
  div#ddd(class="col-lg-7 col-md-5 col-sm-7")

部分 View 示例:

div#spPartial()
  div.col-lg-12.col-md-12.col-sm-12 
    span.col-lg-2.col-md-5.col-sm-5 Name
    input#EnglishName(name="name" type="text" ng-model="elementModel.Name" value="#{Name}"  class="col-lg-5 col-md-7 col-sm-5")  
  button(type="button" compile-Data  name="btnSaveElement" ng-click="saveElement()") Save

Controller 主要部分:

//It loads the partial view - It works successfully
$http.post('/api/elements/getElementTypesPartial',
                        {
                            "ElementId": elementId,
                            "ProgramId": newVal,
                            "ElementTypeId": elementTypeId
                        })
                        .success(function (d2) {
                            $("#ddd").html(d2);
                        }
//It doesn't work at all
$scope.saveElement = function () {
    alert();
    alert($scope.elementId);
}

另外一件事是我将 $scope.saveElement 放在 Controller 作用域的根目录中。我不知道 angularJs 如何管理 $scope,所以我在客户端代码中看到 $scope.elementId 。这是正确的还是我应该在每次加载该部分时重新生成它($scope.saveElement)?

抱歉,我找不到任何描述这些的引用资料...

最佳答案

您应该摆脱 jQuery 加载并使用 Angular 路由器,它将根据路由配置加载模板。

由于它们是通过 Angular 加载的,因此它会为您完成所有编译工作。 路由器还负责处理 ajax 以自动获取模板。

Controller 也在路由配置中定义,因此您可以从模板中删除ng-controller

更改不会花费很长时间,因为设置路由配置相当容易开始

这将解决ng-click问题

关于javascript - 嵌套 View Controller 和 ng-click - AngularJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35010338/

相关文章:

javascript - jQuery - 错误的技术或错误

javascript - 选择包含特殊类的图像 - 纯 javascript

javascript - 在网站上搜索文本

javascript - Ajax jquery - 即时加载

javascript - 检测图像上的矩形形状并在其上添加一个 div Jquery

javascript - 使用 AngularJS 从 IONIC 中的 json 文件获取数据

javascript - 将字符串转换为 json 对象 javascript

javascript - 如何检测用户何时在输入类型数字中键入字符串?

css - 在你的 css 选择器中包含 ng-binding 是一个不好的做法吗?

javascript - AngularJS 表单没有提交 ng-click 事件