嵌套视图控制器和ng-click-AngularJs
Nested view controller and ng-click - AngularJs
我有 8 个jade
视图,当时只加载了其中一个,并通过jquery
填充到具有controller
的div
中。
现在,我有两个关于这些的问题:
- 是否有必要在我的部分视图(与主
controller
相同的controller
)之上再次定义controller
? - 所有这些视图都具有相同的
ng-click
。 但是加载后它们不起作用。但是,它们通过jquery单击事件工作。我应该对他们做任何额外的事情吗?
我以前对li
元素有同样的问题,但我通过使用 compileData 从 ng-click 获得帮助来解决它,但我无法使用按钮获得结果。
法典:
主玉:
div(ng-controller="elementCtrl")
div#ddd(class="col-lg-7 col-md-5 col-sm-7")
部分视图示例:
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
控制器主要部分:
//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
放在控制器作用域的根目录中。我不知道 angularJs 如何管理$scope,所以我在客户端代码中看到$scope.elementId
。是否正确,或者我应该在每次加载部分时重新生成它($scope.saveElement
)?
抱歉,我找不到任何描述这些的参考资料...
你应该摆脱jQuery加载,并使用一个角度路由器,它将根据路由配置加载模板。
由于它们是按角度加载的,因此它会为您完成所有编译。路由器也会负责 ajax 自动获取模板。
控制器也会在路由配置中定义,因此您可以从模板中删除ng-controller
转换应该不会花很长时间,因为设置路由配置很容易
开始这将清除ng-click
问题
相关文章:
- Angular,表达式{{}}的结果没有插入到ng-click中
- Ng隐藏在Ng-click元素之外
- 如何在ng-click中传递php对象
- AngularJs的ng-click$事件将子元素作为目标传递
- 使用jqGrid列格式化程序函数使ng-click工作
- 在Angularjs中,我如何使用ng repeat、ng model和ng click来动态更改内容
- ng-click指令没有调用整个函数
- 在控制器中添加$location依赖项时,ng-click停止激发
- 如何在ng repeat中使用ng click
- 将我的列表 vom ng-repeat 更改为收集重复 ng-click 后,无法正常工作
- 在 ng-click 中设置$scope变量指令
- 在 Angular 指令中定义一个用于 ng-click 的函数
- 为什么我们需要 ng-click
- (angularJS)使ng-click在ng-repeat上打开一个链接
- 为什么ng-click被称为按钮被点击的次数
- AngularJS:如何防止ng-click以子元素为目标
- 另一个 ng-click() 未按预期工作
- 角度:编译谷歌地图信息窗口内容以使用ng-click
- 是否可以在 ng-click 中调用函数字符串
- 如何在 ng-click 函数中更改$rootScope值