作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
也许我疯了,或者太习惯了KnockoutJS ,但我一直在文档中寻找 ngWith 指令来定义元素、 Controller 或包含(ngInclude)部分的范围。
例如:
我想编写一个增强 MyItem 的 Controller ,例如:
MyModule.controller('MyItemCtrl', function($scope) {
$scope.doSomethingToItem = function() {
$scope.name = "bar";
};
});
<div ng-controller="MyItemCtrl">
{{name}}
<button ng-click="doSomethingWithItem()">Do Something</button>
</div>
MyItem
.
<div ng-repeat="item in list">
<div ng-controller="MyItemCtrl">
{{item.name}}
<button ng-click="doSomethingWithItem()">Do Something</button>
</div>
</div>
item.this
或
item.that
而不仅仅是
this
和
that
.我必须记住哪些函数是模型的原生函数,哪些函数是由 Controller 直接应用于范围的。
<h3>{{name}}</h3>
<h3>{{item.name}}</h3>
item
的范围。属性(property)。
<div ng-include="'my/partial.html'" ng-with="item"></div>
<div ng-repeat="list" ng-controller="MyItemCtrl">
{{name}}
<button ng-click="doSomethingWithItem()">Do Something</button>
</div>
<ul>
<li ng-repeat="item in items" ng-click="selection = item">{{item.minView}}</li>
</ul>
<div ng-controller="ItemController">
{{selection.maxView}}
</div>
selection.property
获取所选项目的属性而不是我想要的:
item.property
.我还必须使用
selection
在
ItemController
!使其完全与这种观点相结合。
with
指示:
myApp.directive('with', ['$parse', '$log', function(parse, log) {
return {
scope: true,
link: function(scope, el, attr) {
var expression = attr.with;
var parts = expression.split(' as ');
if(parts.length != 2) {
log.error("`with` directive expects expression in the form `String as String`");
return;
}
scope.$watch(parts[0], function(value) {
scope[parts[1]] = value;
}, true);
}
}
}]);
<ul>
<li ng-repeat="item in items" ng-click="selection = item">{{item.minView}}</li>
</ul>
<div with="selection as item" ng-controller="ItemController">
{{item.maxView}}
</div>
最佳答案
我发现我可以在 ng-repeat 的源周围放置一个数组,它在功能上变成了一个 ng-with。 :)
<div ng-repeat="name in [vm.dto.Person.Name]" >
<input type="text" ng-model="name.First" />
<input type="text" ng-model="name.Last" />
</div>
关于angularjs - 不应该有一个 AngularJS ngWith 指令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16124645/
也许我疯了,或者太习惯了KnockoutJS ,但我一直在文档中寻找 ngWith 指令来定义元素、 Controller 或包含(ngInclude)部分的范围。 例如: 我想编写一个增强 MyIt
我是一名优秀的程序员,十分优秀!