Note About Angularjs
Anjualr Js Noting
- ng-repeat and bindings
In Js, keep one thing in mind, object assign is just using reference. that is to mean if you write t={Name:"hello"};h=t
, So the t, h
share the same memory where hold the object.
So any modification to t
will reflect to h
.
Now we come to ng-repeat
. we can see the code sample here:
<table class="table">
<thead>
<tr>
<th>名称</th>
<th>描述</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="catalog in cl.catalogsList" catalog-detail each-catalog="catalog" >
</tr>
</tbody>
</table>
here are the directive definition
function catalogDetailController($scope,catalogService) {
var cd = this;
cd.editMode = false;
cd.handleEdit = function () {
if (cd.editMode) {
$scope.catalog = { Id: 4, Name: "test", Description: "ddd" };
//catalogService.updateCatalog($scope.catalog)
// .then(
// function successCallback(response) {
// $scope.catalog = angular.copy(response.data);
// }, function failCallback(response) {
// alert("error while update");
// $scope.catalog = angular.copy(cd.originalCatalog);
// }
// );
}
else {
cd.originalCatalog = angular.copy($scope.catalog);
}
cd.editMode = !cd.editMode;
};
}
function catalogDetailDirective($http) {
return {
scope: {
catalog: "=eachCatalog",
deleteCatalog: "&"
},
templateUrl: "/../App_Client/Components/Catalogs/CatalogDetail.html",
controller: catalogDetailController,
controllerAs:"cd"
}
}
angular.module("catalogsApp")
.directive("catalogDetail", catalogDetailDirective);
Note: we must not assign a object value to the variables inherited from parent. In this example, we must not assign object
to $scope.catalog
,
otherwise, the modification will not reflect to the parent
, that is catalogList
. So, I guess scope binding, just use the reference
to achive this goal.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构