简单的 AngularJS DOM 更新
Simple AngularJS DOM update
我有一个项目列表,当用户单击其中一个时,我希望该菜单项的详细信息(项目的类或项目的文本本身 - 即$market
变量)使用详细信息($market
var)发出服务器请求,然后使用服务器返回的值填充下面的div(取决于发送的详细信息)。
这是我的代码的样子
<div ng-controller="MarketCtrl">
Please select a market:
<?php foreach ($markets as $market): ?>
<span class="<?= strtolower(str_replace(' ', '_', $market)) ?>"><?= $market ?></span>
<?php endforeach; ?>
You have selected _______ as the market.
<div>
<!-- Load items based on the item selected above -->
</div>
</div>
我想用AngularJS做这一切,我已经对jQuery很熟悉了,但真的很想用AngularJS来完成这件事。
我应该为此做什么?我应该创建一个新指令,然后将上述元素绑定到指令或其他东西吗?我现在对 AngularJS 有点迷茫,我正在浏览 egghead.io 视频,但还没有看到这样的东西。
谢谢。
这有点开放,有很多不同的解决方法。如果市场列表和相应的细节很少,我会在一个初始 json 请求中将其全部提取出来,并让我的模型如下所示:
var markets = [{"name":"market1", "detail": {"description":"blah blah"} }]
.html:
<div ng-controller="MarketCtrl">
Please select a market:
<span ng-repeat="market in markets" ng-click="setMarket(market)" ng-class="getClass(market.name)">{{market.name}}</span>
You have selected {{curMarket.name}}as the market.
<div>
{{curMarket.detail.description}}
</div>
</div>
控制器:
MarketCtrl= function($scope){
$scope.curMarket={};
$scope.getClass = function(name){
return name.replace(" ", "_")
}
$scope.setMarket(market){
$scope.curMarket=market;
}
}
如果你想调用数据,因为它太多了:
var markets = [{"name":"market1", "id":1 }, {"name":"market2", "id":2}]
.html:
<div ng-controller="MarketCtrl">
Please select a market:
<span ng-repeat="market in markets" ng-click="getMarket(market)" ng-class="getClass(market.name)">{{market.name}}</span>
You have selected {{curMarket.name}}as the market.
<div>
{{curMarket.detail.description}}
</div>
</div>
控制器:
MarketCtrl= function($scope, $http){
$scope.curMarket={};
$scope.getClass = function(name){
return name.replace(" ", "_")
}
$scope.getMarket(market){
var url='';
$http.get(url).success(function(data){
$scope.curMarket=data;
});
}
}
相关文章:
- 从angularjs中的javascript更新dom
- Javascript没有't更新DOM,直到用户交互
- 如何让React JS点击处理程序在执行时更新DOM
- Ionic:AngularJS变量未使用$scope更新DOM
- 使用Javascript通过ajax回调更新DOM
- Angular JS根据搜索结果和点击事件更新DOM元素
- 我如何告诉javascript立即更新DOM
- 引导复选框-x 选中时未正确更新 DOM - 如何验证表单
- 通过Javascript重复更新DOM后,网页变得很慢
- jQuery更新DOM并运行change()方法
- 使用Angular Directive用$scope属性更新DOM-只要指令运行(无需等待事件)
- AngularJS:在长时间循环期间强制更新DOM(即进度指示器)
- Polymer:当数组中的对象被外部代码修改时,更新dom重复元素
- Javascript 复杂的附加和更新 DOM,因此可以使用 remove(); 将其删除
- ng-show 不更新 DOM 元素
- 浏览器如何从内部HTML属性更新DOM
- 更新 DOM 中的标签
- 是否有模板引擎可以在数据更改时更新 DOM
- 在 AngularJS 中使用从 websockets 动态获取的外部 JSON 数据自动更新 DOM
- 更新 DOM 后“鼠标向上”出现问题