当ng include改变角度时更新渲染
updating render when ng-include changes angular
我是Angular的新手-我的问题-当我调用$scope.editProfile()
时,panels.left
的值在工厂中会更改,但页面上的内容不会更改。在html文件中,我使用的ng包含如下:
<div ng-include src="leftPanel"></div>
当第一次加载页面views/profile.html时,它在div中呈现。但后来当我调用$scope.editProfile()
时,我希望div用views/edit.html的内容刷新——该值在工厂中确实发生了变化(console.log证明了这一点),但页面内容不会更新。
myApp.factory("panels", function () {
return {
left: "views/profile.html",
center: "views/msgs.html",
right: "views/friends.html"
};
});
myApp.controller("homeCtrl", function ($scope, api, panels) {
$scope.leftPanel = panels.left;
$scope.centerPanel = panels.center;
$scope.rightPanel = panels.right;
});
myApp.controller("profileCtrl", function ($scope, api, panels) {
$scope.user = api.bio.get();
$scope.editProfile = function () {
panels.left = "views/edit.html";
};
});
您最好在ui路由器中使用命名视图,这是一种比现在更好的处理路由和状态的方法。
但是,如果您希望当前逻辑正常工作,则需要将工厂分配封装在homeCtrl中的函数中。
即:
$scope.leftPanel = function() { return panel.left; }
相关文章:
- 如何为动态创建的文本区域中输入的值更新ng模型
- 在数据更改时更新ng重复
- 使用输入更新 ng 模型数据
- Angularjs在更改ng之前需要更新ng模型
- 通过使用ng if更新ng repeat加载程序
- 如何在Angularjs中使用ng选项时更新ng模型
- 在angularjs复选框输入中更新ng模型或执行ng更改之前需要确认
- AngularJS没有't在Django管理日期小部件上的jQuery事件后更新ng模型
- 如果值为true,AngularJS将更新ng模型
- 如何只更新ng repeat中的部分元素
- 角度 1.5 不更新 ng-repeat
- 如何更新 ng 模型值
- Angular 在触发更改时不更新 Ng 类
- 在角度材料对话框数据输入/推送后更新ng-repeat
- 添加重复键对象时如何更新 ng-repeat 列表中的元素
- 更新 ng 重复中的嵌套对象
- 从另一个 Angular 控制器更新 ng-repeat
- 如何使用来自外部源的数据更新 ng 模型
- 如何使用另一个 ng 选项选定值动态更新 ng 选项值
- AngularJS更新ng-model的值以设置默认值