the*_*eks 8 microsoft-metro angularjs windows-phone-8
我试图在AngularJS应用程序中复制Windows Phone Ui.以下是Windows Phone Ui 的示例.
一个有趣的事情是面板是无限可刷卡的.您可以继续滑动并在第一个面板上结束.
为了实现无限滑动,我复制了第一个和最后一个面板,并在原始面板之前和之后添加它们,如下所示:
如果您滑动到复制的面板(如"3"或"1"):
滑动完成后,您将立即重定向到真实面板.这种情况在用户不知道的情况下发生,因为没有动画.
问题是,面板可以有ng-controller
,ng-repeat
,ng-model
,或任意数量的在其中创建范围的事情.当我复制标记时,会创建一个与原始范围相同但不保持同步的新范围.如何保持面板数据同步?
或者,有没有另一种方法来实现这一点,不涉及重复标记?
这些选项都不是理想选择,所以我正在寻找其他想法.但如果没有任何好的选择,#2对我来说似乎是最好的计划.
这似乎是一个关于在控制器的不同实例之间共享状态的问题(“真实”1 面板和“假”“1”面板),之前已经被问过......
我在 AngularJS 中有两个具有相同 ng-controller 的 div,如何让它们共享信息?
我喜欢建议在实例之间共享状态的服务的答案......
var app = angular.module('myapp', []);
app.service('myservice', function(){
this.data = "Hi, I'm shared"
});
app.controller('mycontroller', ['$scope', 'myservice', function ($scope, myservice) {
$scope.setData = function(newData){myservice.data = newData};
$scope.getData = function(){return myservice.data};
}]);
Run Code Online (Sandbox Code Playgroud)
这是一个演示该方法的工作小提琴
http://jsfiddle.net/michaeldausmann/WMPv3/#base
迈克尔
归档时间: |
|
查看次数: |
688 次 |
最近记录: |